Junior — Middle
Como é feita a transferência de dados da lógica de negócio para a interface do utilizador?
sobes.tech IA
Resposta da IA
No Android, a transferência de dados da lógica de negócio para a interface de utilizador é geralmente feita através de ViewModel e LiveData (ou StateFlow/Flow em abordagens modernas).
O padrão principal é MVVM (Model-View-ViewModel):
- A lógica de negócio encontra-se na camada Model ou nos repositórios.
- O ViewModel obtém dados da lógica de negócio e os armazena em LiveData ou outros objetos observáveis.
- A UI (Activity/Fragment) subscreve-se a esses dados e atualiza-se quando eles mudam.
Exemplo com LiveData:
class MyViewModel : ViewModel() {
val data: MutableLiveData<String> = MutableLiveData()
fun loadData() {
// Obtém dados da lógica de negócio
data.value = "Olá, mundo!"
}
}
// Na Activity ou Fragment
viewModel.data.observe(this) { value ->
textView.text = value
}
Esta abordagem garante uma atualização reativa da UI quando os dados mudam e separa a lógica de negócio da apresentação.