IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

9. diel - Sledovanie zmien hodnôt pomocou StateFlow u coroutines v Kotline

V minulej lekcii, Prenos dát coroutines pomocou kanálov v Kotlin , som sa naučili používať Channel na komunikáciu medzi coroutines a popísali si jeho základné typy.

V dnešnom tutoriále venovanom Kotlin coroutines si predstavíme rozhranie StateFlow, ktoré nám umožňuje sledovať zmenu hodnoty vybranej premennej a reagovať na ňu.

Odovzdávanie informácií o zmenách hodnôt

Predstavme si, že máme v aplikácii premennú activeUsersCount, ktorá nám reprezentuje počet aktívnych používateľov pripojených k nášmu serveru. Následne by sme chceli byť informovaní, kedykoľvek dôjde k zmene počtu aktívnych užívateľov a túto informáciu spracovať.

Najprv si ukážeme, ako problém vyriešiť bez využitia StateFlow a následne si vytvoríme príklad so StateFlow, aby sme videli výhody medzi jednotlivými prístupmi.

Riešenie bez StateFlow

Pokiaľ StateFlow nepoznáme, mohlo by nás napadnúť vyriešiť sledovanie zmien hodnôt pomocou premennej callback, ktorej hodnoty by sme ukladali do zoznamu.

Trieda Server

Naša trieda Server by potom vyzerala takto:

class Server {
   private val callbacks = mutableListOf<(Int) -> Unit>()

   fun start() {
       callbacks.forEach { it.invoke(20) }
       Thread.sleep(1000)
       callbacks.forEach { it.invoke(30) }
   }

   fun registerCallback(callback: (Int) -> Unit) {
       callbacks.add(callback)
   }
}

V triede Server sme vytvorili metódu start(), ktorá


 

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

Vedomosti v hodnote stoviek tisíc získaš za pár korún

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

Kúpiť všetky aktuálne dostupné lekcie s funkciou odovzdávanie úloh iba za 400 kreditov
Aktuálny stav konta 0 kreditov
Kúpou tohoto balíčku získaš prístup ku všetkým 19 článkom (19 lekcií) tohoto kurzu.

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

Čo od nás v ďalších lekciách dostaneš?
  • 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 tutoriále o coroutines v Kotline si ukážeme, ako môžeme pomocou StateFlow sledovať zmeny hodnôt premennej a ako ukončiť získavanie týchto informácií.

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ť.

Č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