|
|
@@ -100,6 +100,8 @@ https://www.figma.com/file/tD64TlCMQEqlr8OTv6bW2o/KOD1.4-Variant3?node-id=0%3A1
|
|
|
|
|
|
>Проект приложения должен быть структурирован по экранам, то есть исходные файлы конкретного экрана должны быть в соответствующей папке. Общие для нескольких экранов классы необходимо поместить в папку common.
|
|
|
|
|
|
+В андроиде нужно делать не папки, а пакеты. Например, создаёте пакет LaunchScreen и в него переносите MainActivity. Для остальных окон сначала делаете пакет, например SignUpScreen, затем в этом пакете создаёте SignUpActivity.
|
|
|
+
|
|
|
Критерий | Баллы
|
|
|
---------|:----:
|
|
|
Проект приложения для смартфона имеет корректную структуру (все файлы распределены по папкам, соответствующим экранам приложения) | 0.5
|
|
|
@@ -118,6 +120,12 @@ https://www.figma.com/file/tD64TlCMQEqlr8OTv6bW2o/KOD1.4-Variant3?node-id=0%3A1
|
|
|
|
|
|
Про создание иконок смотри [первичную настройку приложения](./android_auth.md#первичная-настройка-приложения)
|
|
|
|
|
|
+В этом задании используется тёмная тема. Для переключения в ночной режим в конструктор каждого окна добавить код.
|
|
|
+
|
|
|
+```kt
|
|
|
+AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
|
|
|
+```
|
|
|
+
|
|
|
Все графические ресурсы для приложения вы должны загрузить из "фигмы", про неё расписано в разделе [Экран Launch Screen](#экран-launch-screen)
|
|
|
|
|
|
## Экран Launch Screen
|
|
|
@@ -140,7 +148,7 @@ https://www.figma.com/file/tD64TlCMQEqlr8OTv6bW2o/KOD1.4-Variant3?node-id=0%3A1
|
|
|
5. Окройте **Preview** и убедитесь что элемент выбран весь целиком
|
|
|
6. Убедитесь, что формат для экспорта **PNG** и жмите **кнопку** Export
|
|
|
|
|
|
-Браузер сохранит файл с тем же названием, что и у элемента вёрстки (`video-camera 2.png`). Переименуйте его, убрав пробелы, чёрточки и любую другую фигню, которая может помешать воспринимать ресурс по имени (оставьте только латинские буквы и цифры)
|
|
|
+Браузер сохранит файл с тем же названием, что и у элемента вёрстки (`video-camera 2.png`). Переименуйте его, убрав пробелы, чёрточки и любую другую фигню, которая может помешать воспринимать ресурс по имени (оставьте только латинские буквы и цифры). Ещё, как выяснилось на практике, ресурсы не могут быть в CamelCase, при именовании не используйте большие буквы.
|
|
|
|
|
|
Перенесите (drag-n-drop) полученный файл в ресурс drawable проекта
|
|
|
|
|
|
@@ -269,7 +277,7 @@ override fun onCreate(savedInstanceState: Bundle?) {
|
|
|
Пример проверки электронной почты:
|
|
|
|
|
|
```kt
|
|
|
-val re = Regex("""[a-z0-9]+@[a-z0-9]+\.[a-z]{1,3}""")
|
|
|
+val re = Regex("""^[a-z0-9]+@[a-z0-9]+\.[a-z]{1,3}$""")
|
|
|
val res = re.find(emailEditText.text.ToString())
|
|
|
// если регулярное выражение ничего не найдет, то вернёт null
|
|
|
if(res == null)
|