====== Room ====== * https://developer.android.com/training/data-storage/room * Three major components: * database class * represents dabase abstraction * ''@Database'' * data entities * represents a data entity (a table) * ''@Entity'' * DAOs * provides methods to access data (insert/update/delete...) * ''@Dao'' ===== Learning resources for Room ===== * [[Android Room with a View - Kotlin]] * my conspectus of [[https://developer.android.com/codelabs/android-room-with-a-view-kotlin|Android Room with a View - Kotlin]] * official code lab from Google (by Florina Muntenescu) * [[Persist Data with Room]] * my conspectus of [[https://developer.android.com/codelabs/basic-android-kotlin-compose-persisting-data-room|Persist data with Room]] - very good code lab (especially for using ViewModels with Room) * Github: * https://github.com/google-developer-training/basic-android-kotlin-compose-training-inventory-app/tree/room * ItemEntryViewModel: * https://github.com/google-developer-training/basic-android-kotlin-compose-training-inventory-app/blob/room/app/src/main/java/com/example/inventory/ui/item/ItemEntryViewModel.kt * [[https://developer.android.com/training/data-storage/room|Save data in a local database using Room]] * [[https://developer.android.com/codelabs/basic-android-kotlin-compose-update-data-room#0|Read and update data with Room]]