Sobes.tech
Junior — Middle

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