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()