This project is an Android application that provides access to the Coin Market Cap API for retrieving cryptocurrency data. The app is built using the MVVM (Model-View-ViewModel) architecture with Hilt for dependency injection. It utilizes the Java language along with additional libraries such as RxJava, Gson, and Room for enhanced functionality.
-
Coin Market Cap API Integration: Retrieve cryptocurrency data from the Coin Market Cap API to get real-time information about various cryptocurrencies.
-
Cryptocurrency List: Display a list of cryptocurrencies with details such as name, symbol, price, market cap, and percentage changes.
-
Search Functionality: Implement a search feature to allow users to search for specific cryptocurrencies by name or symbol.
-
Reactive Programming: Utilize RxJava for reactive programming to handle asynchronous operations and provide a smooth user experience.
-
JSON Parsing: Use Gson library for JSON parsing to convert the API response into Java objects for easy handling and manipulation.
-
Local Database: Store favorite cryptocurrencies in a local Room database for offline access and persistent data storage.
-
Navigation: Implement navigation using the Android Navigation component to navigate between different screens and provide a seamless user flow.
To get started with this project, follow these steps:
- Clone this repository:
https://github.com/hexfa/CryptocurrencyJavaApplication.git
-
Import the project into your preferred Android IDE.
-
Build and run the application on an Android device or emulator.
-
Hilt: Dependency injection library for Android that simplifies the process of injecting dependencies into Android components.
-
ViewModel: Part of the Android Architecture Components, used for managing UI-related data and handling the app's logic.
-
LiveData: Part of the Android Architecture Components, used for observing data changes and updating the UI accordingly.
-
RxJava: Library for reactive programming that enables handling asynchronous operations and providing a responsive user interface.
-
Gson: Library for JSON parsing and serialization, making it easy to convert JSON data into Java objects and vice versa.
-
Room: Android database library for data persistence, allowing the app to store favorite cryptocurrencies locally for offline access.
-
Android Navigation: Component for implementing navigation within the app, enabling users to navigate between different screens and maintain a smooth user flow.
To generate the documentation for this project, you can use Dokka.
This project is built with the following tools and technologies:
-
Java: Programming language used for Android development, providing a reliable and robust foundation for building Android applications.
-
Hilt: Dependency injection library for Android that simplifies the process of injecting dependencies into Android components, improving code maintainability and testability.
-
ViewModel: Part of the Android Architecture Components, used for managing UI-related data and handling the app's logic in a lifecycle-aware manner.
-
LiveData: Part of the Android Architecture