Skip to content
 
 

Latest commit

 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Лабораторные работы по курсу Разработка мобильных приложений

МОДУЛЬ 1. ПОГРУЖЕНИЕ В KOTLIN И ОСНОВЫ (3 недели)

  • Неделя 1: Лаб. 1: Создание первого проекта (Empty Activity). Сборка и запуск на эмуляторе/реальном устройстве. Обзор интерфейса студии.
  • Неделя 2: Лаб. 2: Написание консольных утилит на Kotlin внутри Android проекта. Расчеты, работа со строками. Подготовка классов данных для будущего приложения.
  • Неделя 3: Лаб. 3: Реализация списка объектов с фильтрацией с использованием .map, .filter, .sortedBy.

МОДУЛЬ 2. UI. JETPACK COMPOSE. СОСТОЯНИЕ (5 недель)

  • Неделя 4: Лаб. 4: Верстка экрана профиля пользователя (аватар, имя, кнопка "Редактировать").
  • Неделя 5: Лаб. 5: Счетчик нажатий. Поле ввода текста и отображение введенного текста. Реализация "ToDo" — добавление задачи в список.
  • Неделя 6: Лаб. 6: Отображение списка задач из предыдущей лабораторной в красивых карточках.
  • Неделя 7: Лаб. 7: Добавление второго экрана (детали задачи). Переход по клику на элемент списка.
  • Неделя 8: Лаб. 8: Перенос логики списка задач из Activity в ViewModel. Использование StateFlow для хранения состояния.

МОДУЛЬ 3. ХРАНЕНИЕ ДАННЫХ И ПАТТЕРНЫ (4 недели)

  • Неделя 9: Лаб. 9: Сохранение настроек темы/сортировки. Темная/светлая тема в Compose.
  • Неделя 10: Лаб. 10: Интеграция Room в проект. Сохранение списка задач в БД.
  • Неделя 11: Лаб. 11: Рефакторинг: добавление слоя Repository между ViewModel и Room.
  • Неделя 12: Лаб. 12: Выполнение длительных операций (симутация загрузки) с использованием viewModelScope.

МОДУЛЬ 4. СЕТЬ. API. РАБОТА С БЭКЕНДОМ (4 недели)

  • Неделя 13: Лаб. 13: Создание простого API клиента. Запрос списка постов с jsonplaceholder.typicode.com.
  • Неделя 14: Лаб. 14: Маппинг JSON ответа в Data классы. Вывод данных из сети в LazyColumn.
  • Неделя 15: Лаб. 15: Экран с карточками товаров/фильмов. Загрузка картинок по URL.
  • Неделя 16: Лаб. 16: Добавление индикатора загрузки (CircularProgressIndicator) и кнопки "Повторить" при ошибке сети.

МОДУЛЬ 5. ПРОДВИНУТЫЕ ТЕМЫ И ПРОЕКТИРОВАНИЕ (4 недели)

  • Неделя 17: Лаб. 17: Подключение Hilt. Внедрение репозитория и Retrofit в ViewModel.
  • Неделя 18: Лаб. 18: Реализация ленты с подгрузкой при скролле.
  • Неделя 19: Лаб. 19: Интеграция выбранного API.
  • Неделя 20: Лаб. 20: Финальная доработка приложения. Создание иконки приложения.

ИТОГОВЫЙ ПРОЕКТ (Сквозная задача)

Студенты не пишут 20 разных приложений. С Недели 4 у них стартует проект "Личный органайзер (Заметки/Задачи/Трекер привычек)":

  1. Неделя 4-5: Интерфейс + добавление.
  2. Неделя 6-7: Список + детали.
  3. Неделя 10: Сохранение в БД.
  4. Неделя 13: Синхронизация с облаком (GET/POST).
  5. Неделя 17: Рефакторинг с Hilt.
  6. Неделя 20: Финальный релиз (apk).

About

Лабораторные работы для студентов

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors