Nové výhodné předplatné namísto kreditů je tu! Více informací. Upravili jsme také naše provozní podmínky.
NOVINKA: Staň se datovým analytikem a získej jistotu práce, lepší plat a nové kariérní možnosti. 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.

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íš s Provozními podmínkami.

Co od nás v dalších lekcích dostaneš?
  • 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.
Č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