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
Minul 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émiové sekcie.
Kúpiť tento kurz
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íš so zmluvnými podmienkami.
- Neobmedzený a trvalý prístup k jednotlivým lekciím.
- 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.
Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.