3-Aktiviteler arası veri taşıma yöntemleri-Serializable (Kotlin)
Veriyi Serializable ile göndermek için bir class ve bu class ‘ ın Serializable interface’ sinden implement edilmiş olmasına ihtiyaç duyulur.
Intent oluşturuldu.
val intent = Intent(this, DataSerializableActivity::class.java)
Serializable ile gönderilmek istenen class değerlerine, EditText ‘ lerden okunan veriler eklenir ve nesnesi oluşturulur.
val userModel = UserModelSerializable(edtName!!.text.toString(), edtPhone!!.text.toString())
Oluşturulan Serialize edilmiş class Intent ‘ e koyulur.
intent.putExtra(“UserModelSerializable”, userModel)
Ve Intent başlatılır.
startActivity(intent)
Gönderilen veriyi okumak için başka bir Kolin class oluşturulur. intent.extras.getSerializable(“key bilgisi”) metodu ile veri okunur ve hangi class Serialize edildi ise o class ‘ a cast edilir. (as UserModelSerializable)
userModel = intent.extras.getSerializable(“UserModelSerializable”) as UserModelSerializable
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, Serialize edilen class ‘ a cast edilmelidir.
activity_data_txtData.text = “Name : “ + (userModel as UserModelSerializable).name + “\nPhone : “ + (userModel as UserModelSerializable).phone
Bu şekilde Intent ve Bundle ‘ dan biraz farklı olarak, Serializable ile veri gönderildi ve okundu.
Uygulamanın tüm kodlarına buradan ulaşabilirsiniz.