You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
The main screen which displays the user saved tasks in room offline sqlite database as recyclerview with each task name and checkbox to represent task status (done or not). With floating action plus button which navigates to add task screen
you can swipe to delete any task and then a snack bar will be displayed with undo option
clicking on a task will open add/edit task screen on the edit mode with the task information , clicking the done fab will save your changes and update the task in the room database
clicking the add fab will open the add/edit task screen on the add mode with empty cells to be filled with the task information , clicking the done fab will save your changes and add new task in the room database
the main screen has options menu include different options for task sort and display like : hide completed , delete completed , sort by name or date and live search functionality
Architecture pattern:
MVVM single activity architecture with Helper class Resource to map viewmodel data into resource object holds both of data and ui state with repository pattern for data as a layer over different offline/online data sources
Libraries and dependencies:
Constraint Layout for flexible relative positioning and sizing of views
Support for different English/Arabic local
Coroutines and flow for asynchronous operations (networking or data store operations)
Both of coroutines channels and livedata for communication from viewmodel to views ex: navigation delegation cases
Datastore for saving user settings and preferences
Livedata to hold view data to be observed in the views
view binding for binding viewmodel data to views
Room offline database
Navigation component for handling transitions between fragments
Savedstatehandle module for holding state variables like search query
Recyclerview with ListAdapter better choice for reactive data collections
Dagger-Hilt for dependency injection
Retrofit/okhttp for networking
Screenshots
About
Todo list App for Android platform Using MVVM single-activity architecture