Junior — Middle
რა Jetpack ViewModel-ის კომპონენტებს იყენებთ მონაცემებისა და UI-ის მდგომარეობის მართვისთვის?
sobes.tech AI
პასუხი AI-სგან
Jetpack ViewModel-ში მონაცემებისა და UI-ის მდგომარეობის მართვა ჩვეულებრივ გამოიყენება შემდეგი კომპონენტებით:
-
LiveData — თვალსაზრისით დაკვირვებადი მონაცემები, რომლებიც ავტომატურად განახლდება ცვლილებისას. საშუალებას აძლევს რეაქტიული მიდგომის განხორციელებას.
-
MutableLiveData — LiveData-ის შეცვლადი ვერსია, რომელიც გამოიყენება ViewModel-ის შიგნით მონაცემების განახლებისთვის.
-
StateFlow / SharedFlow (Kotlin Coroutines-დან) — თანამედროვე ალტერნატიული საშუალებები LiveData-სთვის, მდგომარეობისა და მოვლენების მართვისთვის კორუტინების მხარდაჭერით.
-
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
}
}