3-Aktiviteler arası veri taşıma yöntemleri-Serializable (Kotlin)

Sinan Çakır
1 min readFeb 9, 2018

--

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.

--

--