Aké prístupy a implementácie vzoru ViewModel poznáš?
sobes.tech AI
Odpoveď od AI
Vzor ViewModel v Androidu se uporablja za shranjevanje in upravljanje UI podatkov ob upoštevanju življenjskega cikla komponent, kot so Activity ali Fragment. Glavni pristopi in implementacije:
-
Android Architecture Components ViewModel — razred iz knjižnice androidx.lifecycle, ki omogoča ohranjanje podatkov med ponovnim ustvarjanjem Activity/Fragment (na primer pri rotaciji zaslona). ViewModel živi, dokler živi UI komponenta.
-
ViewModel z LiveData — pogosto, ViewModel vsebuje LiveData za samodejno posodabljanje UI, ko se podatki spremenijo.
-
Prilagojen ViewModel — lahko implementirate svoj vzorec ViewModel, ločite logiko in podatke od UI, vendar brez uporabe AndroidX, na primer v čistem MVVM.
Primer uporabe standardnega ViewModel z LiveData:
class MyViewModel : ViewModel() {
private val _data = MutableLiveData<String>()
val data: LiveData<String> = _data
fun loadData() {
// nalaganje podatkov, na primer iz repozitorija
_data.value = "Primer podatkov"
}
}
// V Activity ali Fragment
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
viewModel.data.observe(this) { value ->
textView.text = value
}
viewModel.loadData()