Kotlin Lambda ile Listener Tanımlama

Bu mobide, Kotlin Lambda ile listener tanımlamayı ve bunun size ne gibi avantajlar sağladığını öğrenceksiniz.


Görsel Referansı


Lambda Nedir?


Lambda, herhangi bir tanımlayıcıya ihtiyaç duymayan fonksiyondur. Lambda expression (lambda gösterimleri) bir fonksiyonu tek bir satırda yazabilmenize olanak sağlar. Lambda’lar sayesinde daha az kod ve hızlı geliştirme sağlayabilirsiniz. Lambda, fonksiyonel programlama dillerinde veya diğer birinci sınıf fonksiyonlara sahip dillerde - C, C++, Java - bulunabilir.


Basit bir örnek verecek olursak:

fun printString(myString: String) {
    println(myString)
}
 
printString("Hi!")
    
// expression with lambda
val testString = { myString: String -> println(myString) }
testString("Hi!")


Lambda ile Listener Tanımlama


Lambda gösterimleri genellikle internetten bir veri indirirken, internetteki işlemlerle çalışırken kullanılır.


Diyelim ki internetten çalışanlarınızın verilerini çekiyorsunuz. Çektiğiniz veri, bir görsel de olabilir, 10 megabaytlık veri de. Bu sırada kullanıcı arayüzünde, kullanıcı swipe, scroll yapmak isteyebilir ya da ekrana random tıklıyor olabilir. Eğer internetten veri indirirken ya da büyük kapasiteli bir işlem yaparken async (senkronize olmayan) bir şekilde yapılmazsa kullanıcı arayüzü kilitlenir. Kullanıcı arayüzü kitlenirse, kullanıcının uygulaması kilitlenir hatta uygulama çökebilir.


Böyle bir olayın yaşanmaması için genelde bütün bu işlemler asyn bir şekilde çalıştırılır ve aynı zamanda işlem tamamlandığında, yani internetten veri geldiğinde ne yapılacağını yazdığımız bazı fonksiyonlar vardır. Bu fonksiyonlar callback function, listener function veya completion function olarak karşımıza çıkabilir. Bu örneği koda dökebilirsiniz.