Junior — Middle
Kaip įgyvendinama ViewModel naudojimas Jetpack'e vartotojo sąsajos būsenai valdyti?
sobes.tech AI
Atsakymas iš AI
Jetpack'e ViewModel naudojamas UI būsenos saugojimui ir valdymui, išlaikant duomenis keičiantis konfigūracijai (pvz., ekrano pasukimui). ViewModel atskiria UI logiką nuo Activity ar Fragment, tai palengvina testavimą ir priežiūrą.
Naudojimo pavyzdys:
class MyViewModel : ViewModel() {
private val _text = MutableLiveData<String>()
val text: LiveData<String> = _text
fun updateText(newText: String) {
_text.value = newText
}
}
// Activity ar Fragment'e
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
viewModel.text.observe(this) { updatedText ->
textView.text = updatedText
}
Taip, ViewModel saugo duomenis, kurie išlieka po UI perkūrimo, ir teikia juos per LiveData reaktyviam sąsajos atnaujinimui.