General
Used Room Database and Followed MVVM Architecture Pattern to build the app
Specs / Open-source libraries:
- Minimum SDK 21, but AppCompat is used all the way ?
- Kotlin all new modules starting from 2.5.3 will be written in #Kotlin.
- Room Database a part of the Android Architecture components which provides an abstraction layer over SQLite
- MVVM the architecture pattern used in the app (Model-View-ViewModel), that incorporates the Android Architecture Components
- ViewModel for designed to store and manage UI-related data in a lifecycle conscious way.
- LiveData for observable data
- ViewBinding for easily interacts with views
Screenshots
Create New Note | Update a Note | Delete a Note |
---|---|---|
N.B: Apply Plugins and Dependencies
- Apply these plugins
apply plugin: 'kotlin-parcelize'
apply plugin: 'kotlin-kapt'
apply plugin: "androidx.navigation.safeargs.kotlin"
- Add these dependencies
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5'
implementation 'androidx.navigation:navigation-ui-ktx:2.3.5'
implementation "androidx.room:room-ktx:2.4.1"
kapt "androidx.room:room-compiler:2.4.1"
implementation "android.arch.persistence.room:runtime:1.1.1"
kapt "android.arch.persistence.room:compiler:1.1.1"
- Add this into your project build.gradle file
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.3.5"