Junior — Middle
Que componentes do Jetpack ViewModel você usa para gerenciar dados e o estado da interface do usuário?
sobes.tech IA
Resposta da IA
Para gerir os dados e o estado da interface de utilizador no Jetpack ViewModel, normalmente utilizam-se os seguintes componentes:
-
LiveData — dados observáveis que atualizam automaticamente a interface quando mudam. Permite implementar uma abordagem reativa.
-
MutableLiveData — versão modificável do LiveData, usada dentro do ViewModel para atualizar dados.
-
StateFlow / SharedFlow (do Kotlin Coroutines) — alternativas modernas ao LiveData para gerir o estado e eventos com suporte para corrotinas.
-
SavedStateHandle — permite guardar e restaurar o estado do ViewModel ao recriar a interface, por exemplo, ao rodar a tela.
Exemplo de uso do LiveData no ViewModel:
class MyViewModel : ViewModel() {
private val _text = MutableLiveData<String>()
val text: LiveData<String> = _text
fun updateText(newText: String) {
_text.value = newText
}
}