Kotlin Multiplatform Academy · leksjon

Grunnleggende om Flow i delt kode

Send ut en strøm av verdier fra commonMain

Leksjon 1 av 413 trinn

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

Gratis å komme i gang

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

  1. Grunnleggende om Flow i delt kode
  2. StateFlow for delt tilstand i brukergrensesnittet
  3. Operatorer: map, filter, combine
  4. Samle inn Flow på Android og iOS
← Tilbake til Kotlin Multiplatform Academy