Welcome!
This project showcases a native Android application built as a final assignment for the Android Development course. It demonstrates key Android concepts such as MVVM architecture, network operations using Retrofit, local data persistence with Room, dependency injection using Dagger-Hilt, and more.
The application interacts with an external API via Retrofit to fetch live data. This data is then stored in a local database using Room, ensuring offline access and seamless updates in the UI through LiveData and ViewModels. Users can view, search, and manage data across multiple screens (fragments), and can also mark certain items as "favorites," which are saved locally for quick access.
- 4 distinct fragments displaying different data and functionalities
- Integration with an online API via Retrofit
- Local persistence layer with Room database
- MVVM architecture with ViewModel + LiveData for data binding
- Dagger-Hilt for dependency injection
- “Favorites” fragment with a RecyclerView
- Ability to add, edit, and remove favorite items
- Error handling for network issues, permissions, and user input
- Usage of advanced Android features (e.g., Location, background services, etc.)
This project applies a modern Android tech stack:
Planned improvements to further enrich the application:
- Implement user authentication (e.g., login screen)
- Support for additional sensor data or device features (camera, accelerometer, etc.)
- Improved error handling with custom UI dialogs
- Advanced analytics and logging
- Possible cloud integration for real-time sync of favorite items