Android

Android Serializable Arayüzü Kullanarak Liste Öğelerini Transfer Etme

Bu örnekte bir sınıf türünden oluşturulmuş olan listelerin activity’ ler arası Serializable yöntemiyle nasıl transfer edileceğini göreceksiniz.

Android platformunda Serializable, nesnelerin serileştirilmesini sağlamak için kullanılan bir arayüzdür. Nesnelerin serileştirilmesi, bir nesnenin bellekteki durumunu, veri akışında veya dosyada saklanabilir bir veri yapısına dönüştürerek geçici veya kalıcı olarak depolamayı sağlar. Android uygulamalarında Serializable arayüzü, veri aktarımı veya uygulama durumunun korunması için kullanılır.

Serializable arayüzü, Java platformunda da kullanılabilir ve tüm nesnelerin serileştirilmesini sağlayabilir. Ancak, Android platformunda Serializable arayüzü, genellikle basit veri nesneleri veya veri yapısına sahip nesnelerin serileştirilmesi için kullanılır. Örneğin, bir Android uygulamasında, kullanıcının profil bilgileri gibi basit verilerin serileştirilmesi ve bir sonraki açılışta tekrar yüklenmesi için Serializable kullanılabilir.

Bunun yanı sıra, Serializable arayüzü, Android uygulamalarında veri aktarımı için de kullanılabilir. Örneğin, bir uygulama, Bluetooth veya Wi-Fi üzerinden başka bir cihaza veri aktarmak istediğinde Serializable kullanılabilir. Bu durumda, nesneler serileştirilerek veri akışına yazılabilir ve diğer cihaza gönderilebilir.

Serializable arayüzü, Android uygulamalarında nesnelerin serileştirilmesi için kullanışlı bir araçtır. Ancak, Serializable arayüzü, Parcelable arayüzüne göre daha yavaş çalışabilir ve nesne verilerinin daha fazla bellek kullanımına neden olabilir. Bu nedenle, Android uygulamalarında Serializable yerine Parcelable arayüzü tercih edilebilir, özellikle performans önemli olduğunda.

Örneğimizde bir Mekan sınıfı oluşturarak Mekan türünde bir liste oluşturacağız. Ve liste öğelerinin activity’ ler arası transferini gerçekleştireceğiz.

Mekan.java dosyamız:

Burada dikkat edilmesi geren nokta Serializable arayüzünün implement edilmesidir.

activity_main.xml tasarımında 3 adet Button bulunmaktadır:

activity_detail.xml dosyamızda ImageView ve TextView denetimleri eklenecektir.

strings.xml dosyamız:

MainActivity.java dosyamız:

DetailActivity.java dosyamız:

getSerializableExtra, bir Android Intent nesnesiyle birlikte gönderilen serileştirilmiş bir nesneyi alma yöntemidir.

Android uygulamalarında, bir aktiviteden diğerine veya bir servisten bir aktiviteye veri aktarmak için Intents kullanılır. Bu veriler, genellikle basit veri tipleri (örneğin, tamsayılar veya metinler) olabilir. Ancak, bazen daha karmaşık veri tipleri (örneğin, özel bir sınıf nesnesi) de aktarılması gerekebilir.

Bir özel sınıf nesnesi, Serializable arayüzünü uygulayarak serileştirilebilir hale getirilebilir. Böylece, bu nesne bir Intent nesnesiyle birlikte gönderilebilir. Daha sonra, hedef aktivitede veya serviste bu serileştirilmiş nesne getSerializableExtra yöntemi kullanılarak alınabilir.

Bu yöntem, serileştirilmiş bir nesne almak için kullanılan en basit yöntemlerden biridir. Ancak, veri boyutu büyük olduğunda veya performansın önemli olduğu durumlarda Parcelable arayüzünü kullanmak daha uygun olabilir.

Ekran Çıktısı:

Yorum yap