Open Systems Mobile Development
Тематический план
-
-
Android Basics Tutorials
Layout Editor
Material Design Android
Jetpack Compose Samples
Jetpack Compose Docs
-
-
-
Implement an app of your choice:
1. Crypto Tracker (CoinGecko API)
API: CoinGeckoЗадание:
Создать приложение, отображающее список популярных криптовалют с их текущей ценой и изменением за 24 часа.
Обязательные функции:
Список монет с названием, ценой в USD и процентом изменения (зелёный/красный).
- Обработка трёх состояний: загрузка (показываем
CircularProgressIndicator), ошибка (сообщение с кнопкой «Повторить») и успех (список). Карточка каждой монеты кликабельна — при нажатии показывается отдельный экран с детальной информацией (можно взять из того же запроса: рыночная капитализация, объём торгов, максимум/минимум за 24ч).
Технические требования:
Retrofit + Gson/Moshi, Coroutines.
MVVM (ViewModel + StateFlow/LiveData).
Coil для загрузки иконок (поле
image).Jetpack Compose UI .
2. Space Picture of the Day (NASA APOD API)
API: NASA APOD
Задание:
Приложение «Астрономическая картинка дня», которое показывает снимок NASA на выбранную дату.Обязательные функции:
При запуске загружается и отображается APOD за сегодняшний день: заголовок, изображение (или видео, обрабатываем ссылку), описание.
Компонент для выбора даты (
DatePickerDialogили аналогичный), при выборе загружается снимок на указанный день.Если API возвращает медиа типа
video, показать сообщение «Видео недоступно в приложении» и кнопку для открытия ссылки в браузере.Обработка состояний: загрузка, ошибка (например, нет изображения на будущую дату), успех.
Снимок можно развернуть на весь экран при нажатии (простая детальная страница с полноразмерным изображением).
Технические требования:
Retrofit, Coroutines, MVVM.
Compose Navigation (переход на экран деталей).
Coil (поддержка обычного URL изображения).
Для открытия браузера использовать
IntentчерезLocalContext.
3. Recipe Finder (TheMealDB API)API: TheMealDB
Задание:
Приложение «Поиск рецептов», позволяющее искать блюда по названию и просматривать их состав и способ приготовления.Обязательные функции:
Поле поиска с кнопкой «Найти». При пустом запросе можно вывести сообщение «Введите название блюда».
Результаты поиска — список с миниатюрами, названиями и категорией.
При нажатии на рецепт открывается экран с полной информацией: фото, ингредиенты, инструкция по приготовлению.
Обработка состояний: загрузка, пустой результат («Рецептов не найдено»), ошибка сети.
-