Неделя 1 — Введение
— Знакомимся со своим личным наставником и группой. Рассматриваем из чего состоит проект.
— Работа с системой контроля версий.
— Создаем интерфейс приложения. Работа с локализациями.
Открытие курса\Основы Java
1. Intro (09:09)
2. Основы Java (38:28)
Git и Github
1. ProjectOverview (15:21)
2. ManifestOverview (13:26)
3. IntentOverview (07:37)
4. Emulator (06:46)
5. Git & Gradle Overview (20:54)
Интерфейс пользователя
1. Введение в интерфейс (41:13)
Неделя 2 — Работа со списками и фрагментами
— Написание классов и разметки.
— Написание адаптера для работы с несколькими фрагментами.
Отображение списков
1. Lists (38:23)
Фрагменты
1. Основные понятия (23:20)
Неделя 3 — Работа с Internet и Api
— Создание интерфейса Api.
— Работа с компонентами Material Design.
— Реализация авторизации.
Интернет
1. Практическое применение (55:14)
Material Design
1. Material Design (01:40)
2. FloatingActionButton (11:54)
3. TextInputLayout (09:00)
4. Селекторы (09:31)
5. AppBarLayout (05:41)
6. SwipeRefreshLayout (04:44)
Авторизация
1. Реализация авторизации (01:01:38)
Неделя 4 — Создание сложных интерфейсов
— Работа со списками.
— Работа с Custom Drawable и Custom Class.
Сложные интерфейсы
1. Создание сложных интерфейсов (01:17:41)
Кастомные View
1. Кастомные View (49:16)
Неделя 5 — Публикация приложения в Google Play Маркет
— Создание двух типов сборки приложения: debug и release.
— Изучение основ Kotlin.
Публикация приложения
1. Что нужно знать при публикации приложения (29:39)
Основы Kotlin
1. Kotlin (17:32)
Неделя 1 — Введение
— Знакомимся со своим личным наставником и группой. Рассматриваем из чего состоит проект.
— Разбираем, что такое жизненный цикл приложения.
— Создаем навигацию в разрабатываемом приложении.
Открытие курса
1. Intro (20:32)
Жизненный цикл
1. Жизненный цикл приложения (04:47)
2. Жизненный цикл Activity (04:37)
3. Жизненный цикл Fragment (04:40)
Навигация
1. Навигация (11:43)
2. Design time атрибуты (08:38)
3. Стили, темы и ViewBinding (10:11)
Разбор заданий #1
1. Техническое задание №1 (51:25)
Неделя 2 — Архитектура
— Рассматривается чистая архитектура
— Рассматривается реализации экранов с помощью шаблона MVP
— Рассматривается реализации экранов с помощью шаблона MVVM
Архитектура I
1. Solid (05:34)
2. Чистая Архитектура (03:59)
Архитектура II
1. Repository (14:12)
2. MVP (10:10)
Архитектура III
1. MVVM (19:52)
Разбор заданий #2
1. Техническое задание №2 (58:35)
Неделя 3 — Работа с данными
— Рассматривается Inversion of Control и Dagger
— Рассматривается принцип работы с сетью, файловой системой и базой данных SQLite
— Работа с библиотекой Room
Работа с данными I
1. Inversion of Control (06:02)
2. Dagger(часть 1) (12:45)
3. Dagger(часть 2) (11:31)
4. Dagger(часть 3) (14:47)
5. Dagger(часть 4) (08:46)
Работа с данными II
1. Система пермишенов (04:54)
2. Работа с сетью (03:15)
3. Работа с файловой системой (04:20)
4. SQLite (04:54)
Работа с данными III
1. Room (часть 1) (10:23)
2. Room (часть 2) (17:36)
3. Room (часть 3) (07:42)
Разбор заданий #3
1. Техническое задание №3 (01:10:46)
Неделя 4 — Реактивное программирование
— Использование фреймворка RxJava
— Реализация работы в фоне
— Работа с Firebase сервисами
Реактивное программирование
1. RxJava (Часть 1) (16:33)
2. RxJava (Часть 2) (20:14)
3. RxJava (Часть 3) (02:32)
Работа в фоне
1. Работа в фоне_1 (06:04)
2. Работа в фоне_2 (06:48)
3. Работа в фоне_3 (04:57)
Уведомления
1. Firebase (Часть 1) (10:12)
2. Firebase (Часть 2) (13:30)
3. Firebase (Часть 3) (07:26)
4. Firebase (Часть 4) (14:12)
Разбор заданий #4
1. Техническое задание №4 (01:36:38)
Неделя 5 — Тестируемость
— Написание Unit и UI тестов
Тесты
1. Тесты (часть 1) (25:02)
2. Тесты (часть 2) (25:18)