Shopping List- 1 min
An Android application that integrates the Android Jetpack components to help keep track of items needed when shopping. This application was implemented using MVVM pattern, LiveData, ViewModel, Kotlin-Coroutines, Room, Navigation Components and DataBinding.
The architecture of this application relies and complies with the following points below:
- A single-activity architecture, using the Navigation Components to manage fragment operations.
- Pattern Model-View-ViewModel(MVVM) which facilitates a separation of development of the graphical user interface.
- Android architecture components which help to keep the application robust, testable, and maintainable.
- ViewModel to store and manage UI-related data in a lifecycle conscious way.
- LiveData to handle data in a lifecycle-aware fashion.
- Navigation Component to handle all navigations and also passing of data between destinations.
- Timber - a logger with a small, extensible API which provides utility on top of Android’s normal Log class.
- Kotlin Coroutines for managing background threads and reducing needs for callbacks.
- Data Binding to declaratively bind UI components in layouts to data sources.
- Room persistence library which provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.
- JUnit - a simple framework to write repeatable tests.