Приложение представляет из себя обозреватель курсов валют, загружаемых с API ЦБ, а также конвертер из одной валюты в другую.
Стек используемых технологий:
- Kotlin
- Kotlin Coroutines
- Retrofit2
- Room2
Приложение состоит из двух фрагментов: списка валют с их курсом, номиналом и буквенным обозначением и конвертера валют. Каждые пять минут происходит автоматическая подгрузка файла данных ЦБ в формате json (https://www.cbr-xml-daily.ru/daily_json.js), для ручного обновления нужно нажать на кнопку "Обновить". Для загрузки и обработки данных была использована библиотека Retrofit с Gson конвертером. Они являются простыми и удобными инструментами для создания и обработки REST запросов.
Для асинхронной обработки запросов использовалась библиетка Kotlin Coroutines. По сравнению с RxJava объем кода уменьшается, а сам код становится более читабельным, так как логика становится последовательной.
Приложение использует библиотеку Room для сохранения данных в локальной базе. Ее API схож с Retrofit, что значительно упрощает работу с ней.