Mobiliosios programėlės
Pamoka 5 / 8 Room duomenų bazė ~55 min
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:

  • ViewModel perėjome į AndroidViewModel. Skirtumas vienas — AndroidViewModel gauna Application per konstruktorių, ko mums reikia Room inicijavimui (Room reikia Context).
  • notes dabar yra StateFlow, gautas iš Room Flow per stateIn. UI gali tiesiogiai collectAsState.
  • add ir delete paleidžia viewModelScope.launch { ... }, nes DAO metodai yra suspend.
  • 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ą).