This is simple notes app that follows MVVM architectural design pattern and uses android jetpack components.
MVVM - MVVM stands for Model, View, ViewModel. MVVM is one of the architectural patterns which enhances separation of concerns, it allows separating the user interface logic from the business (or the back-end) logic. Its target is to achieve the following principle “Keeping UI code simple and free of app logic in order to make it easier to manage”.
-
Navigation Components - Navigation component helps you implement navigation, from simple button clicks to more complex patterns, such as app bars and the navigation drawer. The Navigation component also ensures a consistent and predictable user experience by adhering to an established set of principles.
-
Android Room Persistence - It is a SQLite object mapping library. Use it to Avoid boilerplate code and easily convert SQLite table data to Java objects. Room provides compile time checks of SQLite statements and can return RxJava, Flowable and LiveData observables.
-
Kotlin Coroutines - A coroutine is a concurrency design pattern that you can use on Android to simplify code that executes asynchronously. On Android, coroutines help to manage long-running tasks that might otherwise block the main thread and cause your app to become unresponsive.
-
ViewModel - It manages UI-related data in a lifecycle-conscious way. It stores UI-related data that isn't destroyed on app rotations.
-
LiveData - It notifies views of any database changes. Use LiveData to build data objects that notify views when the underlying database changes.
-
Kotlin - Kotlin is a modern statically typed programming language used by over 60% of professional Android developers that helps boost productivity, developer satisfaction, and code safety.
It also uses RecyclerView with DiffUtill to improves overall app performances
- Save Note In a Local db
- Update
- Swipe To Delete
- Search
- Color Picker (Colorful notes)
- RecyclerView Animations