Junior — Middle
UIнин маалыматтары жана абалын башкаруу үчүн Jetpack ViewModelдин кайсы компоненттерин колдонуп жатасыз?
sobes.tech AI
AIден жооп
Jetpack ViewModel-де маалыматтар жана UI абалынын башкарылышы үчүн адатта төмөнкү компоненттер колдонулат:
-
LiveData — көзөмөлдөөгө болуучу маалыматтар, ал автоматтык түрдө UI жаңыланат өзгөргөндө. Реактивдүү жактан ишке ашырууга мүмкүндүк берет.
-
MutableLiveData — LiveDataнын өзгөртүлүүчү версиясы, ViewModel ичинде маалыматтарды жаңыртуу үчүн колдонулат.
-
StateFlow / SharedFlow (Kotlin Coroutinesден) — LiveDataга заманбап альтернатива, абал жана окуяларды башкаруу үчүн корутиндер менен колдоо менен.
-
SavedStateHandle — UI кайра түзүлгөндө, мисалы, экранды айландырууда, ViewModelдин абалын сактоо жана калыбына келтирүү мүмкүнчүлүгүн берет.
LiveDataны ViewModelде колдонуу мисалы:
class MyViewModel : ViewModel() {
private val _text = MutableLiveData<String>()
val text: LiveData<String> = _text
fun updateText(newText: String) {
_text.value = newText
}
}