Junior — Middle
Kako se implementira korišćenje ViewModel u Jetpack-u za upravljanje stanjem korisničkog interfejsa?
sobes.tech АИ
Одговор од АИ
ViewModel u Jetpack-u se koristi za skladištenje i upravljanje stanjem UI-ja, čuvajući podatke tokom promena konfiguracije (npr. rotacija ekrana). ViewModel odvaja logiku UI-ja od Activity ili Fragment-a, što olakšava testiranje i održavanje.
Primer upotrebe:
class MyViewModel : ViewModel() {
private val _text = MutableLiveData<String>()
val text: LiveData<String> = _text
fun updateText(newText: String) {
_text.value = newText
}
}
// U Activity ili Fragment-u
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
viewModel.text.observe(this) { updatedText ->
textView.text = updatedText
}
Na ovaj način, ViewModel čuva podatke koji preživljavaju ponovnu kreaciju UI-ja i pruža ih putem LiveData za reaktivno ažuriranje interfejsa.