TodoApp is a sample Todo Android application 📱 built to demonstrate use of Modern Android development tools. Dedicated to all Android Developers with ❤️.
You can Install and test latest TodoApp from below 👇
It simply stores ToDo list data in persistence storage (i.e. SQLite Database).
- This makes it offline capable 😃.
- Clean and Simple Material UI.
- It supports dark theme too 🌗.
Dummy API is used in this app. JSON response is statically hosted here.
- Kotlin - First class and official programming language for Android development.
- Coroutines - For asynchronous and more..
- Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
- Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
- LiveData - Data objects that notify views when the underlying database changes.
- ViewModel - Stores UI-related data that isn't destroyed on UI changes.
- ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
- Room - SQLite object mapping library.
- Retrofit - A type-safe HTTP client for Android and Java.
- Material Components for Android - Modular and customizable Material Design UI components for Android.
com.example.todoapp # Root Package
├── data # For data handling.
│ ├── helper # Helper class
│ └── local # Local Persistence Database. Room (SQLite) database
|
├── model # Model classes
├── repository # Single source of data.
|
├── ui # Activity/View layer
│ └── fragments # Fragments layer
|
├── utils # Utility Classes / Kotlin extensions
└── viewmodel # ViewHolder for RecyclerView
This app uses MVVM (Model View View-Model) architecture.