Приложение разработано в рамках обучаючающего интенсива Samsung Innovation Campus Bootcamp: Kotlin for Android. Мастер-класс "Использование паттерна MVVM при разработке приложений. Классы ViewModel и LiveData".
Функционал представляет простейший список популярных фильмов и информацию о каждом фильме. Доступ к информации о фильмах осуществлён с помощью сервиса The Movie DB с использованием соответствующего API.
Презентационные и другие дополнительные материалы находятся здесь.
Шаблон проекта находится в ветке template или его можно скачать здесь.
Приложение написано на Kotlin и использует систему сборки Gradle.
Чтобы собрать приложение используйте команду gradlew build
или используйте "Import Project" в Android Studio. Требуется стабильная версия Android Studio 4.2.1 или новее, загрузить которую можно здесь.
Архитектура построена вокруг Android Architecture Components.
Были использованы рекомендации, описанные в Руководстве по архитектуре приложений при принятии решения об архитектуре приложения. Бизнес-логика приложения была вынесена из Activity и Fragment'ов в ViewModel.
Подписка на обновление данных было реализовано с использованием LiveData, а для хранения и управления кэшем фильмов была использована Room.
Был использован Koin для внедрения ViewModel'ей во Fragment'ы.
Для демонстрации работы с клиент-серверной архитектурой используется данное API. Данные и изображения лицензированы в соответствии с CC BY-NC 4.0. С полными правилами использования API можно ознакомиться здесь.
Для работоспособности необходимо выполнить следующие шаги:
- Получить ключ по следующей инструкции (EN).
- Добавить ключ в файл
Constants.kt
в константуAPI_KEY
В приложении используются следующие запросы:
GET
/movie/{movie_id} - получение информации о фильме.GET
/movie/{movie_id}/credits - получение информации об актёрах и съёмочной группе фильма.GET
/movie/popular - получение списка популярных фильмов постранично.