Sobes.tech
Junior — Middle

ViewModel nümunəsinin yanaşmaları və tətbiqləri haqqında nə bilirsiniz?

sobes.tech Süni İntellekt

AI-dan cavab

Android-də ViewModel nümunəsi, UI komponentlərinin həyat dövrünü nəzərə alaraq UI məlumatlarını saxlamaq və idarə etmək üçün istifadə olunur, məsələn, Activity və ya Fragment. Əsas yanaşmalar və tətbiqlər:

  • Android Architecture Components ViewModel — androidx.lifecycle kitabxanasından olan sinifdir və Activity/Fragment yenidən yaradılarkən (məsələn, ekranın döndürülməsi zamanı) məlumatların saxlanmasına imkan verir. ViewModel UI komponenti canlı olduğu müddətcə yaşayır.

  • LiveData ilə ViewModel — tez-tez, ViewModel LiveData ehtiva edir ki, məlumatlar dəyişdikdə UI avtomatik yenilənir.

  • Xüsusi ViewModel — öz ViewModel nümunənizi tətbiq edə bilərsiniz, məntiq və məlumatları UI-dən ayıraraq, lakin AndroidX istifadə etmədən, məsələn, saf MVVM-də.

Standart ViewModel və LiveData istifadə nümunəsi:

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

    fun loadData() {
        // məlumatların yüklənməsi, məsələn, repository-dən
        _data.value = "Nümunə məlumat"
    }
}

// Activity və ya Fragment-də
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
viewModel.data.observe(this) { value ->
    textView.text = value
}
viewModel.loadData()