Estado com remember e mutableStateOf
Mantenha o estado da interface em componentes composable.
Estado com remember e mutableStateOf é uma aula grátis de Android Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Android Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Android Academy inclui 4 aulas no total.
O que é estado?
Estado é qualquer valor que possa mudar ao longo do tempo e ao qual a interface deve reagir — um contador, o conteúdo de um campo de texto ou se uma caixa de seleção está ativada. Quando o estado muda, o Compose redesenha a interface.
mutableStateOf
mutableStateOf cria um valor observável. Quando você grava nele, o Compose sabe que deve executar novamente qualquer elemento composável que o tenha lido.
val count = mutableStateOf(0)
// read with count.value, write with count.value = 1Por que usar remember?
Os elementos composáveis podem ser executados muitas vezes (recomposição). Se você criar o estado a cada execução, ele será redefinido todas as vezes. remember diz ao Compose para manter o valor entre recomposições.
val count = remember { mutableStateOf(0) }O delegado by
Ler e gravar .value em todos os lugares é repetitivo. O delegado de propriedade by do Kotlin permite tratar o estado como uma variável normal.
var count by remember { mutableStateOf(0) }
// now use count directly, no .valueImportações necessárias
Para usar o delegado by, importe os auxiliares de leitura e gravação. O Android Studio os adiciona automaticamente.
import androidx.compose.runtime.getValue
import androidx.compose.runtime.setValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.rememberUm elemento composável de contador
Aqui está um contador funcional. Tocar no botão incrementa count, e o Text é atualizado automaticamente.
@Composable
fun Counter() {
var count by remember { mutableStateOf(0) }
Button(onClick = { count++ }) {
Text(text = "Count: $count")
}
}A leitura aciona a atualização
A parte mágica: o Text lê count. O Compose registra essa leitura; assim, quando count muda, somente essa parte é recomposta e exibe o novo valor.
O estado pode conter qualquer tipo
O estado não serve apenas para números. Você pode armazenar uma String, um Boolean, uma lista ou sua própria classe de dados.
var name by remember { mutableStateOf("") }
var isOn by remember { mutableStateOf(false) }TextField com estado
Um campo de texto editável precisa do estado do seu valor atual e de um retorno de chamada para atualizá-lo.
var text by remember { mutableStateOf("") }
TextField(
value = text,
onValueChange = { text = it }
)O estado é local
O estado criado com remember vive dentro do elemento composável. Duas chamadas a Counter() têm, cada uma, sua própria contagem independente.
Exemplo completo
Uma tela de contador completa que combina tudo o que foi apresentado nesta lição.
@Composable
fun CounterScreen() {
var count by remember { mutableStateOf(0) }
Column {
Text(text = "You tapped $count times")
Button(onClick = { count++ }) {
Text(text = "Tap")
}
}
}Verificação rápida
Por que envolvemos mutableStateOf em remember?
Recapitulação
Fundamentos do estado:
mutableStateOfcria um valor observável.remembero mantém entre recomposições.bypermite omitir.value.- Ler o estado inscreve um elemento composável para receber suas alterações.
Perguntas Frequentes
A aula “Estado com remember e mutableStateOf” é grátis?
Sim — o texto completo de “Estado com remember e mutableStateOf” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Android Academy, atualize para CoddyKit PRO. O curso de Android Academy inclui 4 aulas no total.
O que vou aprender em “Estado com remember e mutableStateOf”?
Mantenha o estado da interface em componentes composable. Você pratica Android Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Android Academy?
Nenhuma experiência prévia é necessária. Android Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Estado com remember e mutableStateOf”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Android Academy?
Sim. Cada aula de Android Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Estado com remember e mutableStateOf
- Recomposição explicada
- Elevação de estado
- rememberSaveable