8 / 8
Pakeisk NoteViewModel naudoti repository
Atidaryk NoteViewModel.kt (sukurtas 4-oje pamokoje) ir pakeisk visą failą. Vietoje atminties sąrašo dabar naudosime Room per Repository.
Ką pakeitėme:
- Iš
ViewModelperėjome įAndroidViewModel. Skirtumas vienas —AndroidViewModelgaunaApplicationper konstruktorių, ko mums reikia Room inicijavimui (Room reikiaContext). notesdabar yraStateFlow, gautas iš Room Flow perstateIn. UI gali tiesiogiaicollectAsState.addirdeletepaleidžiaviewModelScope.launch { ... }, nes DAO metodai yrasuspend.SharingStarted.WhileSubscribed(5_000)— Flow lieka aktyvus 5 sekundes po to, kai paskutinis UI atsijungia. Per ekrano sukimą tai išvengia perrašymo iš naujo.
Paleisk programą. Vizualiai nieko nepasikeis — pastabų sąrašas dar tuščias. Bet po kapotu Room duomenų bazė notes.db jau yra įrenginyje.
Patikrink Database Inspector: View → Tool Windows → App Inspection → Database Inspector. Pasirink savo programą. Pamatysi notes.db ir notes lentelę (kol kas tuščią).