Sobes.tech
Back to questions
Junior — Middle
70

Каким образом можно уведомить View об изменениях данных в архитектуре MVVM?

Answer from AI

sobes.tech 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.