Tilstand med remember og mutableStateOf
Bevar UI-tilstand i composable-funksjoner.
Tilstand med remember og mutableStateOf er en gratis leksjon i Android Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Android Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Android Academy inneholder totalt 4 leksjoner.
Hva er tilstand?
Tilstand er enhver verdi som kan endres over tid, og som brukergrensesnittet skal reagere på — en teller, innholdet i et tekstfelt eller om en avmerkingsboks er slått på. Når tilstanden endres, tegner Compose brukergrensesnittet på nytt.
mutableStateOf
mutableStateOf oppretter en observerbar verdi. Når du skriver til den, vet Compose at alle composables som leste den, må kjøres på nytt.
val count = mutableStateOf(0)
// read with count.value, write with count.value = 1Hvorfor remember?
Composables kan kjøres mange ganger (rekombinering). Hvis du oppretter tilstand ved hver kjøring, tilbakestilles den hver gang. remember ber Compose om å beholde verdien på tvers av rekombineringer.
val count = remember { mutableStateOf(0) }by-delegaten
Det blir omstendelig å lese og skrive .value overalt. Kotlin sin by-egenskapsdelegat lar deg behandle tilstanden som en vanlig variabel.
var count by remember { mutableStateOf(0) }
// now use count directly, no .valueNødvendige importer
For å bruke by-delegaten importerer du hjelpefunksjonene for getter og setter. Android Studio legger disse til automatisk.
import androidx.compose.runtime.getValue
import androidx.compose.runtime.setValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.rememberEn teller-composable
Her er en fungerende teller. Når du trykker på knappen, økes count, og Text oppdateres automatisk.
@Composable
fun Counter() {
var count by remember { mutableStateOf(0) }
Button(onClick = { count++ }) {
Text(text = "Count: $count")
}
}Lesing utløser oppdatering
Det magiske er at Text leser count. Compose registrerer denne lesingen, så når count endres, rekombineres bare den delen, og den nye verdien vises.
Tilstand kan inneholde alle typer
Tilstand gjelder ikke bare tall. Du kan lagre en String, en Boolean, en liste eller din egen dataklasse.
var name by remember { mutableStateOf("") }
var isOn by remember { mutableStateOf(false) }TextField med tilstand
Et redigerbart tekstfelt trenger tilstand for den gjeldende verdien samt en callback for å oppdatere den.
var text by remember { mutableStateOf("") }
TextField(
value = text,
onValueChange = { text = it }
)Tilstanden er lokal
Tilstand som opprettes med remember, lever inne i composable-en. To kall til Counter() har hver sin uavhengige teller.
Komplett eksempel
En komplett tellerskjerm som kombinerer alt fra denne leksjonen.
@Composable
fun CounterScreen() {
var count by remember { mutableStateOf(0) }
Column {
Text(text = "You tapped $count times")
Button(onClick = { count++ }) {
Text(text = "Tap")
}
}
}Hurtigsjekk
Hvorfor pakker vi mutableStateOf inn i remember?
Oppsummering
Grunnleggende om tilstand:
mutableStateOfoppretter en observerbar verdi.rememberbeholder den på tvers av rekombineringer.bylar deg utelate.value.- Når en composable leser tilstand, abonnerer den på endringene i tilstanden.
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
- 36
- Leksjoner
- 152
Ofte stilte spørsmål
Er leksjonen «Tilstand med remember og mutableStateOf» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Android Academy, inkludert «Tilstand med remember og mutableStateOf», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Android Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Tilstand med remember og mutableStateOf»?
Bevar UI-tilstand i composable-funksjoner. Du øver på Android 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 Android Academy?
Ingen tidligere erfaring er nødvendig. Android 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 «Tilstand med remember og mutableStateOf»?
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 Android Academy-leksjonen?
Ja. Alle Android 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
- Tilstand med remember og mutableStateOf
- Rekomposisjon forklart
- Tilstandsløfting
- rememberSaveable