This is Todo list app for add and remove notes to database, using Room database and LiveData and ViewModel
I use in this project:
1 - Using Room Libraray to deal with database for better performance, less boilerplate code, SQL validation at compile time.
2 - Using Dao interface for accessing data from Room database.
3 - Using Live Data to observe changes in database when it happens.
4 - Using View Model to catch data and return it to views when configuration changes(rotate device).
5 - Using Life Cycle to allow non-lifecycle object to be lifecycle aware.
6 - Using Executors to run background tasks.
7 - Using View Model Factory to create ViewModel with multiple arguments.
8 - Using Intent for moving and passing data between activities.
9 - Using RecyclerView and RecyclerView ViewHolder for viewing data for better performance.
10 - Using Card View to view each Note in a card.
11 - Using TextView for note description and Radio Button for priority and Fab to add new note.
12 - Using ItemTouchHelper for delete note on on Swipe