Junior — Middle
Чӣ гуна истифодаи ViewModel дар Jetpack барои идоракунии ҳолати интерфейси корбар амалӣ мешавад?
sobes.tech AI
Ҷавоб аз AI
Дар ViewModel дар Jetpack барои нигоҳ доштани ва идора кардани ҳолати UI истифода мешавад, бо нигоҳ доштани маълумот дар давоми тағироти конфигуратсия (масалан, гардиши экран). ViewModel логикаи UI-ро аз Activity ё Fragment ҷудо мекунад, ки ин тест ва нигоҳдории онро осон мекунад.
Маслиҳат барои истифода:
class MyViewModel : ViewModel() {
private val _text = MutableLiveData<String>()
val text: LiveData<String> = _text
fun updateText(newText: String) {
_text.value = newText
}
}
// Дар Activity ё Fragment
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
viewModel.text.observe(this) { updatedText ->
textView.text = updatedText
}
Бинобар ин, ViewModel маълумотҳоро нигоҳ медорад, ки пас аз навсозии UI ҳам зинда мемонанд ва онҳоро тавассути LiveData барои навсозии реактивӣ пешниҳод мекунад.