Welke benaderingen en implementaties van het ViewModel-patroon ken je?
sobes.tech AI
Antwoord van AI
Het ViewModel-patroon in Android wordt gebruikt om UI-gegevens op te slaan en te beheren, rekening houdend met de levenscyclus van componenten zoals Activity of Fragment. Belangrijkste benaderingen en implementaties:
-
Android Architecture Components ViewModel — een klasse uit de androidx.lifecycle-bibliotheek die het mogelijk maakt gegevens te behouden bij het opnieuw maken van Activity/Fragment (bijvoorbeeld bij schermrotatie). Het ViewModel leeft zolang de UI-component leeft.
-
ViewModel met LiveData — vaak bevat het ViewModel LiveData om de UI automatisch bij te werken bij gegevenswijzigingen.
-
Aangepast ViewModel — je kunt je eigen ViewModel-patroon implementeren, logica en gegevens scheiden van de UI, maar zonder AndroidX, bijvoorbeeld in een puur MVVM.
Voorbeeld van gebruik van de standaard ViewModel met LiveData:
class MyViewModel : ViewModel() {
private val _data = MutableLiveData<String>()
val data: LiveData<String> = _data
fun loadData() {
// gegevens laden, bijvoorbeeld uit een repository
_data.value = "Voorbeeldgegevens"
}
}
// In Activity of Fragment
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
viewModel.data.observe(this) { value ->
textView.text = value
}
viewModel.loadData()