0Pricing
Kotlin Multiplatform Academy · Lektion

StateFlow für gemeinsamen UI-Zustand

Beobachtbaren Zustand bereitstellen, den beide Apps sammeln können

StateFlow für gemeinsamen UI-Zustand ist eine kostenlose Kotlin Multiplatform Academy-Lektion auf CoddyKit. Dies ist Lektion 2 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.

State Needs a Holder

Der UI-Zustand ist kein einmaliger Datenstrom, er ist ein Wert, der genau jetzt immer existiert. StateFlow ist ein Flow, der einen einzigen aktuellen Wert für den Bildschirm vorhält.

Always Has a Value

Im Gegensatz zu einem normalen Flow ist ein StateFlow hot (heiß) und führt immer einen Wert. Ein neuer Collector erhält sofort den neuesten Zustand, niemals einen leeren Start.

MutableStateFlow to Write

Sie erstellen den Zustand mit MutableStateFlow und übergeben dabei den Anfangswert. Dies ist die beschreibbare Seite, die Ihre gemeinsame Logik im Laufe der Zeit aktualisiert.

private val _count = MutableStateFlow(0)

Expose a Read-Only View

Halten Sie das veränderbare Feld privat und machen Sie es als schreibgeschützten StateFlow zugänglich. Die Benutzeroberfläche kann es beobachten, aber niemals direkt darauf zugreifen und es verändern.

val count: StateFlow<Int> = _count.asStateFlow()

Update with .value

Schreiben Sie den neuen Zustand, indem Sie .value im Mutable Flow setzen. Jeder Collector wird sofort über die Änderung benachrichtigt.

_count.value = _count.value + 1

Atomic update {}

Verwenden Sie für sichere Lese- und Schreibänderungen bevorzugt die Funktion update. Sie ermittelt den nächsten Wert aus dem aktuellen, ohne Race Conditions zu verursachen.

_count.update { current -> current + 1 }

Reads Are Distinct

StateFlow emittiert nur, wenn sich der Wert tatsächlich ändert. Das erneute Setzen desselben Wertes wird ignoriert, sodass die Benutzeroberfläche nicht grundlos geweckt wird.

A Single Source of Truth

Speichere deinen Bildschirmzustand in einem StateFlow und beide Apps lesen daraus. Das macht deine geteilte Logik zur einzigen Wahrheitsquelle für den Bildschirm. ✨

Model the Whole Screen

Oft handelt es sich bei dem Wert um eine Datenklasse, die den gesamten Bildschirm beschreibt. Ein UiState-Objekt bedeutet, dass die Benutzeroberfläche alle benötigten Daten von einem einzigen Ort abliest.

data class UiState(
    val loading: Boolean = false,
    val items: List<String> = emptyList()
)

Collect Gets the Latest

Wenn ein Bildschirm mit der Erfassung beginnt, ruft er sofort den aktuellen Zustand ab und danach jedes Update. Kein Flackern, kein fehlendes erstes Rendering.

StateFlow vs Flow

Verwenden Sie einen einfachen Flow für Ereignisse, die kommen und gehen, und einen StateFlow für Zustände, die immer einen aktuellen Wert haben. Die Benutzeroberfläche benötigt fast immer StateFlow.

Quick Check

Ein Kernpunkt, den man sich merken sollte.

Recap

Sie haben StateFlow als einzige Wahrheitsquelle (Single Source of Truth) verwendet: einen heißen Datenstrom (Hot Stream), der stets den aktuellen Wert des Bildschirms bereithält, bereit zur Beobachtung durch beide Apps. ✨

Häufig gestellte Fragen

Ist die Lektion „StateFlow für gemeinsamen UI-Zustand“ kostenlos?

Ja — der vollständige Text von „StateFlow für gemeinsamen UI-Zustand“ 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 „StateFlow für gemeinsamen UI-Zustand“?

Beobachtbaren Zustand bereitstellen, den beide Apps sammeln können 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 2 von 4.

Wie lange dauert die Lektion „StateFlow für gemeinsamen UI-Zustand“?

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