- Неделя 1: Лаб. 1: Создание первого проекта (Empty Activity). Сборка и запуск на эмуляторе/реальном устройстве. Обзор интерфейса студии.
- Неделя 2: Лаб. 2: Написание консольных утилит на Kotlin внутри Android проекта. Расчеты, работа со строками. Подготовка классов данных для будущего приложения.
- Неделя 3: Лаб. 3: Реализация списка объектов с фильтрацией с использованием .map, .filter, .sortedBy.
- Неделя 4: Лаб. 4: Верстка экрана профиля пользователя (аватар, имя, кнопка "Редактировать").
- Неделя 5: Лаб. 5: Счетчик нажатий. Поле ввода текста и отображение введенного текста. Реализация "ToDo" — добавление задачи в список.
- Неделя 6: Лаб. 6: Отображение списка задач из предыдущей лабораторной в красивых карточках.
- Неделя 7: Лаб. 7: Добавление второго экрана (детали задачи). Переход по клику на элемент списка.
- Неделя 8: Лаб. 8: Перенос логики списка задач из Activity в ViewModel. Использование StateFlow для хранения состояния.
- Неделя 9: Лаб. 9: Сохранение настроек темы/сортировки. Темная/светлая тема в Compose.
- Неделя 10: Лаб. 10: Интеграция Room в проект. Сохранение списка задач в БД.
- Неделя 11: Лаб. 11: Рефакторинг: добавление слоя Repository между ViewModel и Room.
- Неделя 12: Лаб. 12: Выполнение длительных операций (симутация загрузки) с использованием viewModelScope.
- Неделя 13: Лаб. 13: Создание простого API клиента. Запрос списка постов с jsonplaceholder.typicode.com.
- Неделя 14: Лаб. 14: Маппинг JSON ответа в Data классы. Вывод данных из сети в LazyColumn.
- Неделя 15: Лаб. 15: Экран с карточками товаров/фильмов. Загрузка картинок по URL.
- Неделя 16: Лаб. 16: Добавление индикатора загрузки (CircularProgressIndicator) и кнопки "Повторить" при ошибке сети.
- Неделя 17: Лаб. 17: Подключение Hilt. Внедрение репозитория и Retrofit в ViewModel.
- Неделя 18: Лаб. 18: Реализация ленты с подгрузкой при скролле.
- Неделя 19: Лаб. 19: Интеграция выбранного API.
- Неделя 20: Лаб. 20: Финальная доработка приложения. Создание иконки приложения.
Студенты не пишут 20 разных приложений. С Недели 4 у них стартует проект "Личный органайзер (Заметки/Задачи/Трекер привычек)":
- Неделя 4-5: Интерфейс + добавление.
- Неделя 6-7: Список + детали.
- Неделя 10: Сохранение в БД.
- Неделя 13: Синхронизация с облаком (GET/POST).
- Неделя 17: Рефакторинг с Hilt.
- Неделя 20: Финальный релиз (apk).