Junior — Middle
Kullanıcı arayüzü verilerini ve durumunu yönetmek için Jetpack ViewModel'un hangi bileşenlerini kullanıyorsunuz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Jetpack ViewModel'da veri ve UI durumunu yönetmek için genellikle aşağıdaki bileşenler kullanılır:
-
LiveData — değişikliklerde otomatik olarak UI'yi güncelleyen gözlemlenebilir veriler. Reaktif bir yaklaşım sağlar.
-
MutableLiveData — LiveData'nın değiştirilebilir versiyonu, ViewModel içinde veri güncellemek için kullanılır.
-
StateFlow / SharedFlow (Kotlin Coroutines'ten) — LiveData'ya modern alternatifler, durum ve olayların yönetimi için coroutine desteği ile.
-
SavedStateHandle — UI yeniden oluşturulurken ViewModel'in durumunu kaydetmek ve geri yüklemek için kullanılır, örneğin ekran döndürme sırasında.
ViewModel'da LiveData kullanımı örneği:
class MyViewModel : ViewModel() {
private val _text = MutableLiveData<String>()
val text: LiveData<String> = _text
fun updateText(newText: String) {
_text.value = newText
}
}