0Pricing
Kotlin Multiplatform Academy · Leçon

StateFlow pour l’état de l’interface partagée

Exposez un état observable que les deux applications peuvent collecter.

StateFlow pour l’état de l’interface partagée est une leçon Kotlin Multiplatform Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Kotlin Multiplatform Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Kotlin Multiplatform Academy comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

State Needs a Holder

UI state is not a one-off stream, it is a value that always exists right now. StateFlow is a Flow that holds a single current value for the screen.

Always Has a Value

Unlike a plain Flow, a StateFlow is hot and always carries a value. A new collector instantly receives the latest state, never an empty start.

MutableStateFlow to Write

You create state with MutableStateFlow, passing the initial value. This is the writable side your shared logic updates over time.

private val _count = MutableStateFlow(0)

Expose a Read-Only View

Keep the mutable field private and expose it as a read-only StateFlow. The UI can observe but never reach in and mutate it directly.

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

Update with .value

Write new state by setting .value on the mutable flow. Every collector is notified of the change right away.

_count.value = _count.value + 1

Atomic update {}

For safe read-then-write changes, prefer the update function. It computes the next value from the current one without race conditions.

_count.update { current -> current + 1 }

Reads Are Distinct

StateFlow only emits when the value actually changes. Setting the same value again is ignored, so the UI is not woken up for nothing.

A Single Source of Truth

Put your screen state in one StateFlow and both apps read from it. That makes your shared logic the single source of truth for the screen. ✨

Model the Whole Screen

Often the value is a data class describing the entire screen. One UiState object means the UI reads everything it needs from a single place.

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

Collect Gets the Latest

When a screen starts collecting, it immediately gets the current state, then every update after. No flicker, no missing first render.

StateFlow vs Flow

Use a plain Flow for events that come and go, and a StateFlow for state that always has a current value. UI almost always wants StateFlow.

Quick Check

One key idea to lock in.

Recap

You used StateFlow as a single source of truth: a hot stream that always holds the screen's current value, ready for both apps to observe. ✨

Questions Fréquemment Posées

La leçon « StateFlow pour l’état de l’interface partagée » est-elle gratuite ?

Oui — le texte complet de « StateFlow pour l’état de l’interface partagée » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Kotlin Multiplatform Academy, passe à CoddyKit PRO. Le cours Kotlin Multiplatform Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « StateFlow pour l’état de l’interface partagée » ?

Exposez un état observable que les deux applications peuvent collecter. Tu pratiques Kotlin Multiplatform Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Kotlin Multiplatform Academy ?

Aucune expérience préalable n'est requise. Kotlin Multiplatform Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « StateFlow pour l’état de l’interface partagée » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Kotlin Multiplatform Academy ?

Oui. Chaque leçon Kotlin Multiplatform Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Bases de Flow dans le code partagé
  2. StateFlow pour l’état de l’interface partagée
  3. Opérateurs : map, filter, combine
  4. Collecter des Flows sur Android et iOS
← Retour à Kotlin Multiplatform Academy