Sobes.tech
Junior — Middle

Чӣ гуна метавон ба View дар бораи тағиротҳои маълумот дар меъмории MVVM хабар дод?

sobes.tech AI

Ҷавоб аз AI

Дар архітэктуры MVVM звычайна выкарыстоўваецца механізм назірання за зменамі ў ViewModel для паведамлення View пра змены дадзеных. У 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.