9. diel - Pripomínač narodenín v Compose - ViewModel

V minulej lekcii, Pripomínač narodenín v Compose - Databáza , sme implementovali SQLite databázu a vytvorili svoju prvú entitu. Inštanciu DAO sme sprístupnili pre celú aplikáciu.

V dnešnom Compose tutoriále doplníme do nášho pripomínača narodenín ViewModel, ktorý v MVVM aplikáciách slúži ako prostredník medzi prezentačnou vrstvou a modelom (dátovou vrstvou). V ňom si pripravíme dáta, ktoré budeme neskôr zobrazovať v užívateľskom rozhraní.

Trieda ReminderViewModel

Najprv si do projektu pridáme balíček s názvom viewmodel av ňom si vytvoríme novú triedu ReminderViewModel, ktorá bude dediť z triedy ViewModel.

Atribúty triedy

Do triedy doplníme atribúty, ktorými bude náš ViewModel disponovať:

class ReminderViewModel : ViewModel() {
    private val personDao = ServiceLocator.personDao!!

    private val _otherPersons = MutableStateFlow(listOf<Person>())
    val otherPersons = _otherPersons.asStateFlow()

    private val _todayBirthPersons = MutableStateFlow(listOf<Person>())
    val todayBirthPersons = _todayBirthPersons.asStateFlow()
}

Na začiatku získame inštanciu PersonDao. Tú sme už vytvorili v triede BirthdayReminderApplication, môžeme teda použiť zápis ServiceLocator.personDao!!.

Potom pridáme zoznam _otherPersons, kam budeme


 

...koniec náhľadu článku...
Pokračuj ďalej

Vedomosti v hodnote stoviek tisíc získaš za pár eur

Došiel si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiovej sekcie.

Pred kúpou tohto článku je potrebné kúpiť predchádzajúci diel

Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš s Prevádzkovými podmienkami.

Čo od nás v ďalších lekciách dostaneš?
  • Prístup k jednotlivým lekciám podľa spôsobu obstarania.
  • Kvalitné znalosti v oblasti IT.
  • Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.

Popis článku

Požadovaný článok má nasledujúci obsah:

V Compose tutoriále doplníme do nášho pripomínača narodenín ViewModel, ktorý bude mať na starosť prepojenie logickej vrstvy aplikácie a užívateľského rozhrania.
Článok pre vás napísal Marek Urbańczyk
Avatar
Autor se věnuje programování v Kotlinu, Javě. Má také zkušenosti s C#.
Aktivity