Sobes.tech
Junior — Middle

Como é que a utilização do ViewModel é implementada no Jetpack para gerir o estado da interface de utilizador?

sobes.tech IA

Resposta da IA

O ViewModel no Jetpack é utilizado para armazenar e gerir o estado da interface de utilizador, mantendo os dados durante alterações de configuração (por exemplo, rotação de ecrã). O ViewModel separa a lógica da interface de utilizador da Activity ou Fragment, o que facilita os testes e a manutenção.

Exemplo de utilização:

class MyViewModel : ViewModel() {
    private val _text = MutableLiveData<String>()
    val text: LiveData<String> = _text

    fun updateText(newText: String) {
        _text.value = newText
    }
}

// Na Activity ou Fragment
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
viewModel.text.observe(this) { updatedText ->
    textView.text = updatedText
}

Assim, o ViewModel armazena dados que sobrevivem à recriação da UI e fornece-os através de LiveData para uma atualização reativa da interface.