Sobes.tech
Junior — Middle

ViewModel үлгүсүнүн кандайча жакындар жана ишке ашырылышын билесиз?

sobes.tech AI

AIден жооп

Android-деги ViewModel үлгүсү UI маалыматтарын сактоо жана башкаруу үчүн колдонулат, компоненттердин, мисалы, Activity же Fragment, жашоо циклин эске алуу менен. Негизги жактар жана ишке ашыруулар:

  • Android Architecture Components ViewModel — androidx.lifecycle китепканасынан класс, ал Activity/Fragment кайра түзүлгөндө (мисалы, экранды буруу учурунда) маалыматтарды сактоого мүмкүндүк берет. ViewModel UI компоненти тирүү болгондо гана жашайт.

  • LiveData менен ViewModel — көбүнчө, ViewModel LiveData камтыйт, ошондуктан маалыматтар өзгөргөндө автоматтык түрдө UI жаңыртылат.

  • Өзгөчө ViewModel — өзүңүздүн ViewModel үлгүңүздү ишке ашыра аласыз, логика жана маалыматтарды UIдан бөлүп, бирок AndroidX колдонбостон, мисалы, таза MVVMде.

Стандарттык ViewModel жана LiveData колдонуу мисалы:

class MyViewModel : ViewModel() {
    private val _data = MutableLiveData<String>()
    val data: LiveData<String> = _data

    fun loadData() {
        // Маалыматтарды жүктөө, мисалы, репозиториден
        _data.value = "Мисалдык маалымат"
    }
}

// Activity же Fragmentте
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
viewModel.data.observe(this) { value ->
    textView.text = value
}
viewModel.loadData()