Sobes.tech
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
    }
}