Kotlin LiveData Kullanımı
Bu yazımda Android Architecture Components’in bir parçası olan LiveData’dan bahsedeceğim. Android Architecture Components hakkında bilginiz yoksa linke tıklayarak inceleyebilirsiniz.
LiveData Nedir?
LiveData, bir verideki değişiklikleri izlememizi sağlayan Observable veri tutucudur. LiveData, lifecycle aware’dir. Yani Activity, Fragment ya da Servis gibi bileşenlerin yaşam döngülerine karşılık hareket edebilir. Bu özellik LiveData’nın sadece aktif yaşam döngüsündeki bileşenlerin gözlemleyicilerini güncelleştirmesini sağlar. Bu davranış, nesnenin sızmasının önlenmesini, uygulamanın olması gerekenden daha fazla iş yapmamasını ve ekran döndürme gibi durumlarda en son kaydedilen verilerin saklanmasını sağlar. Daha iyi anlamak için bir örnek yapalım.
Butona tıklandıkça TextView’deki değeri arttıran basit bir proje yapacağız. Yeni bir proje oluşturalım ve gradle dosyasının içerisine aşağıdaki satırları ekleyelim.
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
UI tarafından ihtiyaç duyulan Observable değişkenler View Model içerisinden sağlanır. Bunun için View Model sınıfımızı oluşturalım.
Sayı değerini tutmak için integer bir count değişkeni tanımlayalım. Daha sonra integer değeri tutmak için LiveData objesi oluşturalım. Oluşturduğumuz integer değişkeninin değerini arttırmak ve LiveData’nın içeriğini güncellemek için getCount() methodunu oluşturalım. Şimdi MainActivity’e geçebiliriz.
MainActivity içerisinden count değişkenine erişebilmek için View Model nesnesi oluşturmamız gerekir. Count değişkeninin değeri başlangıçta 0'dır ve butona tıklandığında getCount() methoduna erişilerek bu değer arttırılmaktadır. Count değişkeninde oluşan değişiklikleri gözlemlememiz gerekir. LiveData, count değişkeninin değerini gözlemler ve TextView’e atamamızı sağlar.
Şimdi uygulamayı çalıştırıp test edebiliriz. Ekranı döndürdüğümüzde count değeri değişmeyecektir. İyi çalışmalar..
