21 Nisan 2018

Android LiveData hakkında bilinmesi gerekenler

ile umut

Merhaba arkadaşlar livedata’yı eminim kullanmaya başlamışsınızdır, başlamadıysanız bir an önce android architecture componentları kullanmaya başlamanızı öneririm.

Konumuza dönecek olursak. View model içerisinde kullanılması önerilen1 live data hakkında iki mühim noktaya değineceğim.

  1. Mutablelivedata’yı sadece view model içerisinde private olarak kullanın.
  2. Kotlinde Livedata’yı sadece bir kere observe etmenin yöntemi.

MutableLiveData

View model içerisinde bir mutable live data tanımladığınızda bunu dışardan kullanmayıp getter setter ile encapsulation2 yapmanız gerekir. Yani nesne yönelimli programlama olabilmesi adına mutable live data ile oluşturulan objeyi sadece view modelden get ve set işlemi yapmalıyız. Daha sonrasında public olarak yeni bir live data objesi oluşturup bunu kullanmamız en doğru yöntemdir. Bunu google örnekleri içinde şu basit projede anlamak daha mümkün olacaktır, tıklayınız.

LiveData’yı bir kez observe etme işlemi

Bunun için kotlin’in extension özelliğinden yararlanacağız. Gerçekten extension yazarak kod yazımını hem sadeleştirebilir hemde kolaylaştırabilirsiniz. Alttaki örnekte onChange methodunu kullanarak normalde yapılacak işlemi gösterdim. Bir üstündeki örnekte ise extension fonksiyonları kullanarak sadece observe yerine liveData.observeOnce şeklindeki kullanım ile her zaman tek seferlik observe işlemini yapabilmeyi sağladık.