0Pricing
Kotlin Multiplatform Academy · Lektion

Flow-Grundlagen im gemeinsamen Code

Einen Strom von Werten aus commonMain emittieren

Flow-Grundlagen im gemeinsamen Code ist eine kostenlose Kotlin Multiplatform Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Kotlin Multiplatform Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Kotlin Multiplatform Academy-Kurs umfasst insgesamt 4 Lektionen.

Streams of Values

Eine Suspend-Funktion gibt einen Wert zurück und ist dann fertig. Ein Flow ist anders: Er emittiert einen ganzen Datenstrom von Werten über die Zeit, einen nach dem anderen. 🌊

Cold by Default

Ein Flow ist kalt: Der Code darin tut nichts, bis jemand mit dem Sammeln beginnt. Kein Collector bedeutet keine Arbeit, wodurch Ihr geteilter Code sparsam und günstig bleibt.

Build One with flow {}

Der Flow-Builder ist der einfachste Weg, um einen Stream zu erstellen. Darin rufen Sie emit auf, um jeden Wert an den jeweiligen Empfänger zu senden.

fun ticks(): Flow<Int> = flow {
    emit(1)
    emit(2)
    emit(3)
}

emit Pushes a Value

Jeder emit-Aufruf übergibt einen Wert an den Kollektor, bevor der nächste Schritt erfolgt. Der Datenstrom ist erst beendet, wenn der Builder-Block zurückkehrt.

Collect to Receive

Um einen Flow zu lesen, collecten Sie ihn. Das Collecten ist ein Suspend-Aufruf, befindet sich also in einer Coroutine und führt Ihren Block für jeden emittierten Wert aus.

ticks().collect { value ->
    println(value)
}

It Works Everywhere

Flow ist in kotlinx-coroutines enthalten, was plattformübergreifend ist. Genau derselbe Flow-Code in commonMain läuft ohne jegliche Änderungen auf Android und iOS. 🎉

flowOf for Fixed Values

Wenn Sie die Werte bereits kennen, verpackt flowOf sie sofort in einen Flow. Es ist der schnellste Stream, den Sie erstellen können.

val names = flowOf("Ana", "Beto", "Cem")

Turn a List into a Flow

Jedes Iterable kann mit asFlow zu einem Stream werden. Das ist praktisch, wenn Sie bereits eine Liste haben und diese Element für Element verarbeiten möchten.

val stream = listOf(10, 20, 30).asFlow()

Emit Over Time

Da der Builder ein Suspend-Block ist, können Sie zwischen Emissionen eine Verzögerung einbauen. Das bildet reale Datenströme wie Ticks, Sensorwerte oder Polling nach.

flow {
    repeat(3) { i ->
        delay(1000)
        emit(i)
    }
}

Flow vs suspend

Verwende eine suspend-Funktion für ein einzelnes asynchrones Ergebnis und einen Flow, wenn kontinuierlich Werte eintreffen. Die Wahl des richtigen Konzepts sorgt für eine ehrliche API.

Why It Fits Shared Code

Flow ermöglicht es Ihrer gemeinsamen Schicht, Daten bei Änderungen zu übertragen, und jede App hört einfach zu. Ihre Geschäftslogik steuert die Benutzeroberfläche, ohne zu wissen, auf welcher Plattform sie sich befindet.

Quick Check

Stellen wir sicher, dass die Grundlagen sitzen.

Recap

Du hast Flow kennengelernt: einen kalten Datenstrom, den du mit flow erstellst und mit collect liest. Er ist plattformübergreifend, sodass derselbe Stream Android und iOS gleichermaßen versorgt. 🌊

Häufig gestellte Fragen

Ist die Lektion „Flow-Grundlagen im gemeinsamen Code“ kostenlos?

Ja — der vollständige Text von „Flow-Grundlagen im gemeinsamen Code“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Kotlin Multiplatform Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Kotlin Multiplatform Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Flow-Grundlagen im gemeinsamen Code“?

Einen Strom von Werten aus commonMain emittieren Du übst Kotlin Multiplatform Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Kotlin Multiplatform Academy zu starten?

Keine Vorkenntnisse erforderlich. Kotlin Multiplatform Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Flow-Grundlagen im gemeinsamen Code“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Kotlin Multiplatform Academy-Lektion Code schreiben und ausführen?

Ja. Jede Kotlin Multiplatform Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Flow-Grundlagen im gemeinsamen Code
  2. StateFlow für gemeinsamen UI-Zustand
  3. Operatoren: map, filter, combine
  4. Flows auf Android und iOS sammeln
← Zurück zu Kotlin Multiplatform Academy