10. diel - Zdieľanie dát coroutines pomocou SharedFlow v Kotlin
V minulej lekcii, Sledovanie zmien hodnôt pomocou StateFlow u coroutines v Kotline , sme si predstavili rozhranie
StateFlow
, pomocou ktorého môžeme sledovať zmeny hodnôt
premenných.
V dnešnom tutoriále si ukážeme ďalší spôsob, ako
odovzdávať informácie medzi coroutines a
vysvetlíme si, kedy je vhodné ho použiť. Predstavíme si rozhranie
SharedFlow
, ktoré umožňuje zdieľať elementy
viacerým konzumentom.
Rozhranie SharedFlow
V tomto kurze sme si už ukázali, ako odovzdávať informácie z jednej
coroutine do druhej. Vieme k tomu už využiť rozhranie Flow
,
StateFlow
alebo Channel
. Spomínané rozhrania ale
neumožňujú odovzdané informácie spracovávať viacerými
coroutinami. Pokiaľ v našej aplikácii budeme potrebovať, aby k
danému elementu malo prístup viacero coroutines, využijeme rozhranie
SharedFlow
.
Rozhrania SharedFlow
a StateFlow
majú
podobné vlastnosti, rozhranie StateFlow
dokonca z
SharedFlow
dedí. Ich využitie je ale rozdielne, ako uvidíme
ďalej. StateFlow
napríklad uchováva iba aktuálnu hodnotu,
zatiaľ čo SharedFlow
umožňuje odberateľom prístup aj k
predchádzajúcim hodnotám.
Jednoduchý príklad
Poďme si teda koncept SharedFlow
a jeho využitie ukázať na
jednoduchom príklade. Predstavme si, že sme vytvorili
...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
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 Kotlín tutoriále si predstavíme rozhranie SharedFlow, ktoré umožňuje zdieľať elementy vo viacerých coroutines a tiež získavať skôr odoslané elementy.
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ť.