Skip to content

This is an android Note taking app I have created for applying MVVM architecture.

Notifications You must be signed in to change notification settings

ercanduman/NoteTakingApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 

Repository files navigation

NoteTakingApp

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.

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.

Application also contains code examples for all requirements below;

  • 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.

Helpful links:

Happy coding! 👍 🥇 medal goes to @ercanduman