Grunnleggende om Flow i delt kode
Send ut en strøm av verdier fra commonMain
Grunnleggende om Flow i delt kode er en gratis leksjon i Kotlin Multiplatform Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Kotlin Multiplatform Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Kotlin Multiplatform Academy inneholder totalt 4 leksjoner.
Strømmer av verdier
En suspend-funksjon returnerer én verdi og er deretter ferdig. En Flow er annerledes: den sender ut en hel strøm av verdier over tid, én etter én. 🌊
Kald som standard
En Flow er kald: Koden inni den gjør ingenting før noen begynner å samle inn verdiene. Uten en collector utføres ikke noe arbeid, noe som holder den delte koden lat og effektiv.
Bygg en med flow {}
Byggeren flow er den enkleste måten å opprette en strøm på. Inni den kaller du emit for å sende hver verdi ut til den som lytter.
fun ticks(): Flow<Int> = flow {
emit(1)
emit(2)
emit(3)
}emit sender ut en verdi
Hvert kall til emit gir én verdi til collectoren før kjøringen fortsetter. Strømmen er ferdig først når byggeblokken returnerer.
Collect for å motta
For å lese en Flow bruker du collect. Innsamling er et suspend-kall, så det kjører inne i en korutine og utfører blokken din for hver verdi som sendes ut.
ticks().collect { value ->
println(value)
}Det fungerer overalt
Flow leveres i kotlinx-coroutines, som støtter flere plattformer. Nøyaktig samme flow-kode i commonMain kjører på Android og iOS uten endringer. 🎉
flowOf for faste verdier
Når du allerede kjenner verdiene, pakker flowOf dem umiddelbart inn i en Flow. Det er den raskeste strømmen du kan lage.
val names = flowOf("Ana", "Beto", "Cem")Gjør en List om til en Flow
Alle Iterable-objekter kan bli til en strøm med asFlow. Dette er nyttig når du allerede har en liste og vil behandle ett element om gangen.
val stream = listOf(10, 20, 30).asFlow()Send ut over tid
Fordi byggeren er en suspend-blokk, kan du bruke delay mellom utsendingene. Det modellerer virkelige strømmer, som pulsslag, sensormålinger eller polling.
flow {
repeat(3) { i ->
delay(1000)
emit(i)
}
}Flow kontra suspend
Bruk en suspend-funksjon for ett enkelt asynkront resultat, og en Flow når verdier fortsetter å komme. Ved å velge riktig løsning holder du API-et tydelig.
Hvorfor den passer i delt kode
Flow lar det delte laget sende data når de endres, mens hver app bare lytter. Forretningslogikken driver UI-et uten å vite hvilken plattform den kjører på.
Rask sjekk
La oss forsikre oss om at det grunnleggende sitter.
Oppsummering
Du har møtt Flow: en kald strøm du bygger med flow og leser med collect. Den støtter flere plattformer, så den samme strømmen forsyner både Android og iOS. 🌊
Lær deg Kotlin med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 30
- Leksjoner
- 120
Ofte stilte spørsmål
Er leksjonen «Grunnleggende om Flow i delt kode» gratis?
Ja – hele teksten i «Grunnleggende om Flow i delt kode» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Kotlin Multiplatform Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Kotlin Multiplatform Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Grunnleggende om Flow i delt kode»?
Send ut en strøm av verdier fra commonMain Du øver på Kotlin Multiplatform Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Kotlin Multiplatform Academy?
Ingen tidligere erfaring er nødvendig. Kotlin Multiplatform Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.
Hvor lang tid tar leksjonen «Grunnleggende om Flow i delt kode»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Kotlin Multiplatform Academy-leksjonen?
Ja. Alle Kotlin Multiplatform Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Grunnleggende om Flow i delt kode
- StateFlow for delt tilstand i brukergrensesnittet
- Operatorer: map, filter, combine
- Samle inn Flow på Android og iOS