Parcelable Nedir?

Tuğçe Aras
3 min readDec 30, 2022

--

Selamlar 👋, bu yazımda sizlere verilerimizi bir yerden bir yere daha hızlı nasıl taşıyacağımız ile ilgili bir yazı hazırladım. Çok uzun sürmeyeceği için hemen başlayalım.

🔸 Parcelable Nedir?

  • Parcelable, sayfalar arası daha hızlı veri transferi yapılabilmesi için Google mühendisleri tarafından Android için çıkartılmış bir veri taşıma yöntemidir.
  • Complex verileri bir activity’den diğerine geçirmek için kullanılır.
  • Sadece Parcelable değil aynı zamanda Serializable ile de bir activity’den diğerine veri taşıyabilmekteyiz.
  • Parcelable, android.os.Parcelable’a ait bir interface’dir ve Android SDK’in bir parçasıdır.
  • Parcelable, verileri byte akışına dönüştürür ve verileri activity’ler arasında iletir.

Yapısına bakacak olursak:

  • Farklı şekillerde Parcelable implement edilebilmektedir. İlk başta bildiğimiz klasik bir şekilde implement etme işlemini gösterdikten sonra daha az kod kullanarak yani annotation ile bunu nasıl yapabiliriz bunu göstereceğim. Klasik yolla başlayalım o halde.

1️⃣ Annotation’sız yol kullanıldığında implement edilmesi gereken bazı metotlar bulunmaktadır. Yapısına bakacak:

2️⃣ Annotation’lı yolu kullanırken ilk başta build.gradle (app olan) dosyasına aşağıdaki satır eklenmelidir. Daha sonra class’ın başına @Parcelize annotation’ı eklenmelidir. Bu annotation ile implement edilmesi gereken bazı metotlar otomatik olarak oluşturuluyor.

plugins {
id 'kotlin-parcelize'
}

🔹 @Parcelize’ın hangi veri tiplerini desteklediğine bakacak olursak:

  • Primitive tipler
  • Object’ler ve enum’lar
  • String
  • Exception
  • Array’ler

Başka hangi tipleri desteklediğine bakmak istiyorsanız aşağıdaki bağlantıya tıklayarak inceleyebilirsiniz 👇

İyi güzel hoş ancak Serializable’da veri taşımada kullanılan bir yöntem. Neden Serializable yerine Parcelable kullanalım ki? Yani aralarındaki fark/farklar neler? 🤔

  • Veri aktarımında Parcelable kullanımı Serializable kullanımına göre daha hızlı bir işlemdir.
  • Parcelable interface’nin uygulanması Serializable’a göre daha fazla zaman alır.
  • Serializable, Parcelable’a göre garbage collection’a yol açan çok sayıda geçici nesne oluşturur.
  • Serializable, implement edilecek herhangi bir metodu olmayan boş bir interface’dir.

Son maddeyi ele alalım ve arka planda Serializable nasıl tutuluyor bir bakalım.

gif url: The End Television GIF — Find & Share on GIPHY (2022). Available at: https://giphy.com/gifs/the-end-all-over-finis-GD4MtvhGLFoeNLGCVf

--

--

Tuğçe Aras
Tuğçe Aras

Written by Tuğçe Aras

Android Developer at Şekerbank T.A.Ş. 💻💚 | https://bio.link/tugcearas

No responses yet