Junior — Middle
Ի՞նչ Jetpack ViewModel կոմպոնենտներ եք օգտագործում տվյալների և UI-ի վիճակի կառավարում համար։
sobes.tech AI
Պատասխան AI-ից
Jetpack ViewModel-ում տվյալների և UI-ի վիճակի կառավարումը սովորաբար օգտագործում է հետևյալ կոմպոնենտները՝
-
LiveData — դիտվող տվյալներ, որոնք ավտոմատ կերպով թարմացնում են UI-ն փոփոխության ժամանակ: Հնարավորություն է տալիս ռեակտիվ մոտեցում իրականացնելու:
-
MutableLiveData — փոփոխական տարբերակ LiveData-ի, որը օգտագործվում է ViewModel-ի ներսում տվյալները թարմացնելու համար:
-
StateFlow / SharedFlow (Kotlin Coroutines-ից) — ժամանակակից այլընտրանքներ LiveData-ի համար՝ վիճակի և իրադարձությունների կառավարման համար՝ coroutine-ների աջակցությամբ:
-
SavedStateHandle — թույլ է տալիս պահել և վերականգնել ViewModel-ի վիճակը UI-ի վերականգնման ժամանակ, օրինակ՝ էկրանին պտտելու դեպքում:
Օրինակ՝ LiveData-ի օգտագործումը ViewModel-ում:
class MyViewModel : ViewModel() {
private val _text = MutableLiveData<String>()
val text: LiveData<String> = _text
fun updateText(newText: String) {
_text.value = newText
}
}