Currency converter
- Application to display the current currency rates for different countries.
- List all currencies you get from the endpoint (one per row). Each row has an input where you can enter any amount of money.
- When you tap on a currency row it should slide to the top and it's input becomes the first responder.
- When you’re changing the amount the app must simultaneously update the corresponding value for other currencies.
This project uses the Gradle build system. To build this project, use the
gradlew build
command or use "Import Project" in Android Studio.
- Architecture - A collection of libraries that help you design robust, testable, and
maintainable apps.
- LiveData - Build data objects that notify views when the underlying database changes.
- ViewModel - Store UI-related data that isn't destroyed on app rotations. Easily schedule asynchronous tasks for optimal execution.
- Navigation - Android Navigation for fragment/screen navigation.android navigation
- Lifecycle - Android life cycle components used for Live Data, View Model.
- UI - Details on why and how to use UI Components in your apps - together or separate
- Third party
- Retrofit for network operation
- RxKotlin for managing background threads with simplified code and reducing needs for callbacks
- Glide - Glide is a fast and efficient open source media management and image loading framework for Android that wraps media decoding, memory and disk caching, and resource pooling into a simple and easy to use interface.
For development, the latest version of Android Studio is required. The latest version can be downloaded from here.
- Add Test Cases
- Add Dependency Injection through Dagger or Koin or latest Hilt.
- Aniket Mane