Zustand mit remember und mutableStateOf
Halten Sie den UI-Zustand in Composables.
Zustand mit remember und mutableStateOf ist eine kostenlose Android 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 Android Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Android Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist ein Zustand?
Zustand ist jeder Wert, der sich im Laufe der Zeit ändern kann und auf den die Benutzeroberfläche reagieren soll — etwa ein Zähler, der Inhalt eines Textfelds oder die Frage, ob ein Kontrollkästchen aktiviert ist. Wenn sich der Zustand ändert, zeichnet Compose die Benutzeroberfläche neu.
mutableStateOf
mutableStateOf erstellt einen beobachtbaren Wert. Wenn Sie ihn ändern, weiß Compose, dass jedes Composable, das ihn gelesen hat, erneut ausgeführt werden muss.
val count = mutableStateOf(0)
// read with count.value, write with count.value = 1Warum remember?
Composables können viele Male ausgeführt werden (Rekomposition). Wenn Sie den Zustand bei jeder Ausführung neu erstellen, wird er jedes Mal zurückgesetzt. remember weist Compose an, den Wert über Rekompositionen hinweg beizubehalten.
val count = remember { mutableStateOf(0) }Der by-Delegat
Das wiederholte Lesen und Schreiben von .value ist umständlich. Mit dem Kotlin-Eigenschaftsdelegaten by können Sie den Zustand wie eine normale Variable behandeln.
var count by remember { mutableStateOf(0) }
// now use count directly, no .valueBenötigte Importe
Um den by-Delegaten zu verwenden, importieren Sie die Hilfsfunktionen für Getter und Setter. Android Studio fügt diese automatisch hinzu.
import androidx.compose.runtime.getValue
import androidx.compose.runtime.setValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.rememberEin Counter-Composable
Hier sehen Sie einen funktionsfähigen Zähler. Wenn Sie auf die Schaltfläche tippen, wird count erhöht und Text automatisch aktualisiert.
@Composable
fun Counter() {
var count by remember { mutableStateOf(0) }
Button(onClick = { count++ }) {
Text(text = "Count: $count")
}
}Lesen löst Aktualisierung aus
Das Entscheidende: Text liest count. Compose protokolliert diesen Lesezugriff. Wenn sich count ändert, wird daher nur dieser Teil rekomponiert und zeigt den neuen Wert an.
Zustand kann jeden Typ enthalten
Zustand ist nicht nur für Zahlen gedacht. Sie können einen String, einen Boolean, eine Liste oder Ihre eigene Datenklasse speichern.
var name by remember { mutableStateOf("") }
var isOn by remember { mutableStateOf(false) }TextField mit Zustand
Ein bearbeitbares Textfeld benötigt den Zustand seines aktuellen Werts sowie einen Callback, der ihn aktualisiert.
var text by remember { mutableStateOf("") }
TextField(
value = text,
onValueChange = { text = it }
)Zustand ist lokal
Mit remember erstellter Zustand lebt innerhalb des Composables. Zwei Aufrufe von Counter() haben jeweils einen eigenen, unabhängigen Zähler.
Vollständiges Beispiel
Ein vollständiger Zählerbildschirm, der alles aus dieser Lektion kombiniert.
@Composable
fun CounterScreen() {
var count by remember { mutableStateOf(0) }
Column {
Text(text = "You tapped $count times")
Button(onClick = { count++ }) {
Text(text = "Tap")
}
}
}Kurzer Check
Warum verpacken wir mutableStateOf in remember?
Zusammenfassung
Grundlagen zum Zustand:
mutableStateOferstellt einen beobachtbaren Wert.rememberbehält ihn über Rekompositionen hinweg bei.byermöglicht es Ihnen,.valuewegzulassen.- Durch das Lesen eines Zustands wird ein Composable für dessen Änderungen registriert.
Häufig gestellte Fragen
Ist die Lektion „Zustand mit remember und mutableStateOf“ kostenlos?
Ja — der vollständige Text von „Zustand mit remember und mutableStateOf“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Android Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Android Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Zustand mit remember und mutableStateOf“?
Halten Sie den UI-Zustand in Composables. Du übst Android 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 Android Academy zu starten?
Keine Vorkenntnisse erforderlich. Android 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 „Zustand mit remember und mutableStateOf“?
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 Android Academy-Lektion Code schreiben und ausführen?
Ja. Jede Android 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
- Zustand mit remember und mutableStateOf
- Recomposition erklärt
- State Hoisting
- rememberSaveable