Sobes.tech
Junior — Middle

ViewModel desenekleri ve uygulamaları hakkında hangi yaklaşımlara sahipsin?

sobes.tech yapay zeka

AI'dan gelen yanıt

Android'de ViewModel deseni, UI verilerini saklamak ve yönetmek için kullanılır, Activity veya Fragment gibi bileşenlerin yaşam döngüsünü dikkate alır. Temel yaklaşımlar ve uygulamalar:

  • Android Architecture Components ViewModel — androidx.lifecycle kütüphanesinden bir sınıf olup, Activity/Fragment yeniden oluşturulurken (örneğin ekran döndürme sırasında) verileri korumayı sağlar. ViewModel, UI bileşeni hayatta olduğu sürece yaşar.

  • LiveData ile ViewModel — genellikle ViewModel, verilerdeki değişiklikler üzerine UI'yi otomatik olarak güncellemek için LiveData içerir.

  • Özelleştirilmiş ViewModel — kendi ViewModel deseninizi uygulayabilir, mantık ve verileri UI'den ayırabilirsiniz, ancak AndroidX kullanmadan, örneğin saf MVVM içinde.

Standart ViewModel ve LiveData kullanımı örneği:

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

    fun loadData() {
        // veri yükleme, örneğin bir repository'den
        _data.value = "Örnek veri"
    }
}

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