Lekce 9 - Upomínač narozenin v Compose - ViewModel
V minulé lekci, Upomínač narozenin v Compose - Databáze, jsme implementovali SQLite databázi a vytvořili svoji první entitu. Instanci DAO jsme zpřístupnili pro celou aplikaci.
V dnešním Compose tutoriálu doplníme do našeho upomínače narozenin ViewModel, který v MVVM aplikacích slouží jako prostředník mezi prezentační vrstvou a modelem (datovou vrstvou). Nový ViewModel bude zpracovávat data, která budeme později zobrazovat v uživatelském rozhraní.
Třída ReminderViewModel
Nejprve si do projektu přidáme balíček s názvem viewmodel a
v něm si vytvoříme novou třídu ReminderViewModel, která bude
dědit z třídy ViewModel.
Atributy třídy
Do třídy ReminderViewModel doplníme
atributy, kterými bude náš ViewModel disponovat:
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čátku získáme instanci PersonDao. Tu jsme již
vytvořili ve třídě BirthdayReminderApplication, můžeme
tudíž použít zápis ServiceLocator.personDao!!.
Poté přidáme seznam _otherPersons, kam budeme
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit pouze tento kurz
Získej okamžitý přístup ke kurzu bez
časového omezení.
275 Kč
Před koupí tohoto článku je třeba koupit předchozí díl
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Přístup k jednotlivým lekcím dle způsobu pořízení.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V Compose tutoriálu do našeho upomínače narozenin doplníme ViewModel, který bude mít na starost propojení logické vrstvy aplikace s uživatelským rozhraním.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.