Junior — Middle
Как да уведомим View за промени в данните в архитектурата MVVM?
sobes.tech AI
Отговор от AI
В архитектурата MVVM, за да уведомите View за промените в данните, обикновено се използва механизъм за наблюдение на промените във ViewModel. В Android това често се реализира с:
- LiveData — обект, който съхранява данни и уведомява абонатите (View) при промени.
- StateFlow / Flow от Kotlin Coroutines — реактивни потоци от данни, които View може да наблюдава.
Пример с LiveData:
class MyViewModel : ViewModel() {
private val _data = MutableLiveData<String>()
val data: LiveData<String> = _data
fun updateData(newValue: String) {
_data.value = newValue
}
}
// В Activity или Fragment
viewModel.data.observe(viewLifecycleOwner) { updatedValue ->
textView.text = updatedValue
}
По този начин, когато данните в ViewModel се променят, View автоматично получава уведомление и актуализира UI-то.