Sobes.tech
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-то.