Test case for ycloud.school - mobile smart weather app
Приложение для получения текущей погоды в населенном пункте и интерактивных подсказок. Функционал приложения позволяет:
- Отобразить текущую погоду (по умолчанию г. Москва)
- Изменить населенный пункт для отображения погоды
- Предлагать подсказки в соответствии с текущей погодой
- Android SDK + язык программирования Kotlin
- Библиотека интерфейса Material Design
- Retrofit 2
Приложение написано на языке программирования Kotlin и использует открытый API Sputnik maps для поиска населенных пунктов и определения их координат. Данные о погоде подтягиваются из сервиса OpenWeatherMap, так же используя One Call API, описанный на их сайте.
У сервиса OpenWeatherMap через HTTP API запрашиваются данные о погоде по заданным координатам населенного пункта или по координатам местонахождения пользователя, полученные данные отображаются на главном экране приложения с указанием текущей температуры, ощущаемой температуры, скорости ветра и процентов облачности. В зависимости от текущих погодных условий пользователю показываются дополнительные интерактивные подсказки.
- При запуске приложение проверяет настройки пользователя
- Если разрешено определение координат - используются текущие координаты устройства
- Если используется название населенного пункта - определяются координаты населенного пункта с помощью запроса на Sputnik maps api
- Полученные координаты используются для запроса текущей погоды от OpenWeatherMap
- полученные данные в формате JSON десериализуются в POCO объект
- Данные объекта отображаются на главном экране приложения