NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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

Znalosti v hodnotě stovek tisíc získáš za pár korun

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 tento kurz

Koupit všechny aktuálně dostupné lekce s funkcí odevzdávání úloh za pouhých 275 Kč
Aktuální stav konta 0 Kč
Koupí tohoto balíčku získáš přístup ke všem 14 článkům (14 lekcí) tohoto kurzu.

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.

Co od nás v dalších lekcích dostaneš?
  • Neomezený a trvalý přístup k jednotlivým lekcím.
  • 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íť.

Článek pro vás napsal Marek Urbańczyk
Avatar
Autor se věnuje programování v Kotlinu, Javě. Má také zkušenosti s C#.
Aktivity