This is an android Note Taking App I have created for MVVM architecture.
This project also gives idea about my coding style and naming conventions for methods, variables, parameters, etc. If you are planning to send me any coding challenge, most probably I will use almost the same technique for methods and file structures available into this project.
I used below diagram as reference which shows a basic form of MVVM architecture.
I have walked through on left side (Activity, ViewModel and LiveData, Repository, Model and finally Room).
You can find all MVVM architecture codes for Activity, ViewModel, LiveData, Repository, Model and Room.
- MVVM architecture sample code
- Migration existing app to AndroidX
- How to create room database
- Creating Room database entity class
- Creating Repository to retrieve data from database (best practice)
- Reading data from CSV file and import to room database.
- Creating an adapter for RecyclerView
- Doing database operation on background thread with AsyncTask
- Implementing Parcelable interface
- Passing object between activities.
- Adding Swipe to delete feature to RecyclerView
- Add new object or updating existing one in a activity
- Adding undo operation to onSwiped method via Snackbar action
- Adding DiffUtil to RecyclerView both for better performance and animation
- Creating and naming sub packages for better file structure.
- MVVM Architecture Components
- Guide to app architecture
- Migrating to AndroidX
- DiffUtil
- Another Diagram
Happy coding! 👍 🥇 medal goes to @ercanduman