Kotlin Parcelize

Önceki yazılarımda Androidde Parcelable implementasyonundan bahsetmiştim. Parcelable ile ilgili detaylı bilgiye oradan ulaşabilirsiniz.

Kısa olarak özetlemek gerekirse, Androidde verileri bir yerden bir yere paslıyorsak ve o veriyi nesne olarak göndereceksek o verinin Parcelable ya da Serializable interfacelerinden birini implement etmesi gerekiyordu. Primitive tipler için bu implementasyonlar gerek yoktu.

Alttaki gibi Kotlinde yazılan bir model classı olduğunu düşünün.

ve bu classı Parcelable interface inden implement edelim.

Gördüğünüz gibi tek satırlık bir model classı onlarca gereksiz satırla doldu taştı. Bunu şimdiye kadar hep göz ardı ettik. Ben bazı projelerimde bunun önüne geçebilmek için bazı extension functionlar yazdım ama hala bir kod kalabalığı vardı. Ta ki Kotlin 1.1.4 sürümüyle beraber @Parcelize annotation gelene kadar.

Bu annotation sayesinde boilerplate koddan kurtulabiliriz. Şimdi nasıl kullanabiliriz buna bakalım.

Öncelikle projenizin build.gradle dosyasına alttaki satıları ekliyoruz.

Bir de dipnot olarak belirteyim yine aynı dosyada üst kısımda

yazdığından emin olun.

Bunları yazdıktan sonra projeyi build ediyoruz. Ardından yazdığımız model classına sadece @Parcelize annotation eklememiz yeterli oluyor.

Yine kotlin sayesinde satırlarca kodu birkaç satıra indirmiş olduk. İşte @Parcelable kullanımı bu kadar basit

NOT:  @Parcelable kullandılğında Lint Error alıyorsanız bunu görmezden gelin, bu Android Studio için bir issue ve çözüm aşamasında ileride bunu geliştirme ekibi çözüme ulaştıracaktır.

Kaynaklar: 

https://proandroiddev.com/parcelable-in-kotlin-here-comes-parcelize-b998d5a5fcac

https://android.jlelse.eu/yet-another-awesome-kotlin-feature-parcelize-5439718ba220

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.