Demo app demonstrating how to create and manage notifications locally using a combination of Jetpacks Worker Manager and Broadcast Receiver. It Also demonstrates modern Android development with Coroutines, LiveData, Jetpack (Room, ViewModel, Navigation), and Material Design based on MVVM architecture.
- Add To-do
- Delete To-do
- Edit To-do
- On/Off reminder notification
- Search To-do list
- How to implement multi-select using action mode
- Custom check box (circular check box)
- Data binding
- Two-way binding
- Form validation
- Android Studio Arctic Fox IDE
- Minimum SDK level 21
- Manual Dependency Injection
- Kotlin based, Coroutines + Livedata for asynchronous.
- Jetpack
- Lifecycle - Observe Android lifecycles and handle UI states upon the lifecycle changes.
- ViewModel - Manages UI-related data holder and lifecycle aware. Allows data to survive configuration changes such as screen rotations.
- DataBinding - Binds UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
- Room Persistence - Constructs Database by providing an abstraction layer over SQLite to allow fluent database access.
- Navigation Component - Navigation component helps you implement navigation, ensuring a consistent and predictable user experience by adhering to an established set of principles
- Architecture
- MVVM Architecture (View - DataBinding - ViewModel - Model)
- Repository Pattern
- Timber - A logger with a small, extensible API.