Приложение для получения курса валют с сервера цб рф по ссылке: https://www.cbr-xml-daily.ru/daily_json.js
В данном приложении реализован следующий функционал - загрузка списка валют с сервера, предоставляется возможность конвертировать указанную сумму в рублях в выбранную из списка валюту, данные о курсах валют не перезагружаются с сервера при повороте экрана, возможность перезагрузки списка вручную.
Требуется доработка:
Возможность периодически обновлять курсы валют - автоматически с заданным интервалом времени, с указанием времени последнего обновления; Не перезагружать данные с сервера при перезапуске приложения, загружать данные из БД если они актуальны или если отсутствует интернет соединения;
Использованы следующие библиотеки:
- Navigation + Safe Args plugin - для организации навигации между фрагментами и передачи данных между ними. Safe Args обеспечивает безопасность типов при навигации и передаче данных между фрагментами
- Retrofit - для упрощения взаимодействие с REST API сайта
- Gson - для конвертации объектов в формате JSON в объекты классов
- RxJava2 - для асинхронной обработки потоков данных получаемых от сервера
- Hilt - для внедрения зависимостей компонентам