Вводный урок
бесплатный, ознакомительный урок для всех желающих создавать приложения на Android.
1. Введение в kotlin.
1.1. Изучение интерфейса idea.
1.2. Функции main, print, println.
1.3. Переменные и типы данных в Kotlin (Числа, логический тип, строки, null, символы).
1.4. Условные операторы (if else, when).
1.5. Функции и параметры в функциях. Unit. Функции высшего порядка. Лямбда выражения.
1.6. Циклы (while, do-while, for). Continue, break. Рекурсия.
1.7. Массивы данных (Array, List, Map). Очередь, стек.
1.8. ООП.
- Создание классов и объектов. Конструкторы. Модификаторы доступа. Геттеры и сеттеры.
- Инкапсуляция и наследование.
- Абстракции.
- Интерфейсы, анонимные объекты, функциональные интерфейсы. Полиморфизм.
1.9. Сравнение типов.
- Класс Any и сравнение объектов.
- Классы данных, перечисления, изолированные классы.
- Обобщения, расширения.
1.10. Исключения.
2. Знакомство с Git.
2.1. Что такое git и как он используется, установка Git.
2.2. Регистрация на GitHub. Удаленные и локальные репозитории. Внесение изменений и отправка их отправка. Обновление локального репозитория.
2.3. Ветки создание и работа. Работа с удаленными ветками.
2.4. Откладывание изменений. Слияние веток и разрешение конфликтов.
2.5. Просмотр изменений. Удаление изменений. Отмена изменений. Удаление веток.
3. Android.
3.1. Сборка и ресурсы.
- AndroidManifest и язык Xml.
- Система сборки Gradle.
- Конфигурация сборки, настройка вариантов сборки, ресурсы приложения.
3.2. Разметка
- Разметка и основные виды UI-элементов.
-Использование ViewGroups.
3.3. Верстка с помощью ConstraintLayout.
- Верстка с помощью ConstraintLayout.
- Создание Toolbar приложения.
3.4. Жизненный цикл активити.
- Описание Activity в манифесте.
- Жизненный цикл Activity и логирование.
- Обработка поворотов экрана и восстановление состояния.
- Parcelable и Serializable.
3.5. Открытие новых экранов.
- Intent и неявные интенты.
- Получение результата работы Activity.
- Обработка deeplink.
3.6. Фрагменты.
- Передача аргументов и взаимодействие с Activity.
- Жизненный цикл фрагментов.
- Работа с Backstack.
3.7. Работа с ViewPager и диалогами.
- ViewPager.
- Отображение диалоговых окон.
- SingleActivity подход.
3.8. Списки.
- Создание списка с помощью RecyclerView.
- Динамические списки.
3.9. Списки best practies.
- Интерфейс LayoutContrainer.
- Настройка вида списков, анимации и декораторы.
- DiffUtill
3.10. Разрешения работа с датой и временем.
- Runtime разрешения.
- Получение местоположения пользователя.
-. Работа с датой и временем.
3.11. Android Jetpack.
- ViewModel.
- LiveData.
- Navigation.
3.12. Многопоточность.
- Работа с потоками.
- Проблемы многопоточности.
- Многопоточность в Android.
3.13. Работа с сетью.
- Работа с сетевыми Api.
- Расширенные возможности работы с сетью.
3.14. Обмен данными по сети. Библиотека Retrofit.
- Библиотека сериализации/десереализации данных.
- Библиотека Retrofit.
3.15. Корутины в Kotlin.
- Работа с корутинами. Suspend.
- Отмена и обработка ошибок. Корутины в Android.
3.16. Работа с файлами.
- Работа с файлами Kotlin.
- Работа со статическими файлами.
- Internal, External storage, shared preferences.
3.17. Content provider.
3.18. Введение в базы данных.
- Что такое базы данных и какими они бывают.
- Основы Sql.
* Select запросы.
* Фильтрация данных, оператор Where.
* Сортировка и ограничения.
* Объединение таблиц. Join-ы.
* Фильтрация по уникальности и группировка записей.
* Объединение результатов. Оператор Union.
* Запросы Insert, Update и Delete.
* Функции, Having.
* Вложенные запросы, связи, внешние ключи и ограничения.
* Создание диаграмм.
3.19. Базы данных в Android.
- Orm и Dao.
- Основы RoomDao.
- Связи таблиц в RoomDao.
- Транзакции и индексы.
- Миграции.
3.20. Scoped Storage.
- Работа с MediaStore Api.
- Работа с Storage Access Framework.
3.21. Оповещения.
- Оповещения.
- Fcm оповещения.
- Broadcast receiver.
3.22. Flow.
3.23. Выполнение задач в фоне.
- Services.
- Foreground services.
- Планирование задач и workManager.
3.24. Material Design.
3.25. Dependency Injection.
- Реализация DI.
- Dagger Hilt.
4. Защита итогового проекта.