Мобільний застосунок для відстеження погоди. Android 5.0 і вище (Lollipop API 21+).
Video.mp4
(Координати міст не точні, тому є похибка в кліматичних умовах)
- MVVM архітектура.
- data
- data.api.weather
- data.source
- ui.cityDetail
- ui.cityList
- utils
- Патерни
- Adapter
- Factory
- Singleton
- Використано ViewBinding, для Retrofit застосовано GsonConverterFactory.
- Ввімкнене кешування запитів на 15 хвилин та кеш для картинок.
- Бібліотеки
- В безплатній версії плану сервісу погоди не можливо здійснити bulk request, тому для кожного міста відправляється окремий запит.
- Картинки погоди стягуються через CDN з автоматичним кешуванням від Picasso, ефективніше буде завантажувати їх із zip архіву.
Задачка:
Зробити додаток на 2 екрани.
1. Список міст та попередній прогноз погоди (однією цифрою).
2. Деталізація по місту.
Екрани можна робити без дизайну.
Compose не використовувати.
Архітектурний та технологіничй стек не обмежений (але бажано MVVM).
Правки:
- Використати Kotlin Coroutines для запитів.
- Використовувати ViewBinding.
- Зробити завантаження даних через пагінацію.
- ListAdapter міняємо на RecyclerViewAdapter.