4-Aktiviteler arası veri taşıma yöntemleri-Parcelable (Kotlin)
Parcelable ile veri taşımak için, Parcelable interface ‘ sinden implement edilmiş bir class ‘ a ihtiyaç vardır.
data class UserModelParcelable(val name: String, val phone: String)
Class yazıldıktan sonra sonuna yazılan ‘ : Parcelable ‘ ifadesi ile Parcelable ‘ dan implement edilir.
data class UserModelParcelable(val name: String, val phone: String) : Parcelable
Android Studio burada, Parcelable interface ‘ sindeki metotların override edilmesi gerektiğiyle alakalı bir uyarı çıkartır. Class ‘ ın içindeki parametreler yazılıp bu metotlar override edilir ise IDE otomatik olarak Parcelable ile ilgili okuma ve yazma metotlarını dolduracaktır.
Bundan sonraki aşamalar Serializable ile benzerlik gösterir.
Intent oluşturuldu.
val intent = Intent(this, DataParcelableActivity::class.java)
Parcelable ile gönderilmek istenen class değerlerine, EditText ‘ lerden okunan veriler eklenir ve nesnesi oluşturulur.
val userModel = UserModelParcelable(edtName!!.text.toString(), edtPhone!!.text.toString())
Oluşturulan Parcelable yapılmış class Intent ‘ e koyulur.
intent.putExtra(“UserModelParcelable”, userModel)
Ve Intent başlatılır.
startActivity(intent)
Gönderilen veriyi okumak için başka bir Kotlin class oluşturulur. intent.extras.getParcelable(“key bilgisi”) metodu ile veri okunur ve hangi class Parcelable edildi ise o class ‘ a cast edilir. (as UserModelParcelable)
userModel = intent.extras.getParcelable(“UserModelParcelable”) as UserModelParcelable
Bu satıra bir debug key koyulup, debug modda çalıştırılır ise userModel ‘ de name ve phone bilgisinin tutulduğu görülür.
Bu verileri TextView ‘ a yazdırmak için name ve phone bilgisini ayrı bir şekilde yazdırmak gerekir. Yine userModel, Parcelable edilen class ‘ a cast edilmelidir.
activity_data_txtData.text = “Name : “ + (userModel as UserModelParcelable).name + “\nPhone : “ + (userModel as UserModelParcelable).phone
Parcelable ile veri bu şekilde gönderildi ve okundu.
Parcelable, Android geliştiricilerinin yaptığı testlere göre veri taşımada en hızlı yoldur.
Uygulamanın tüm kodlarına buradan ulaşabilirsiniz.