Android

Android’de Veri Aktarımında Parcelable Kullanımı: Aktiviteler Arası Sorunsuz İletişim

Merhaba ve hoş geldiniz! Bugün Android geliştirme dünyasında sıkça karşılaşılan bir konuyu ele alacağız: ‘Parcelable’.

Android’de veri transferi oldukça yaygındır. Sıklıkla bir etkinlikten veya parçadan diğerine veri göndermek veya bir veri modelini başka bir etkinliğe aktarmak gibi durumlarla karşılaşırız. Bu tür veri transfer işlemlerinde verinin serileştirilip serileştirilmesi gerekmektedir. İşte bu noktada Parcelable devreye girer.

Parcelable, Android platformunda kullanılan bir arayüzdür ve bir nesnenin parçalara ayrılarak başka bir nesne haline getirilmesine olanak tanır. Parcelable, Serializable’a bir alternatif olarak düşünülebilir, ancak daha performanslı ve optimize edilmiştir.

Adım 1: Projenin Ayarlarını Yapma

Başlamak için Android Studio’da projemizi ayarlayalım. Android Studio’yu açın ve yeni bir proje oluşturun. Uygun bir proje adı ve paket adı belirleyin ve hedef kitlenize bağlı olarak minimum SDK sürümünü seçin.

Adım 2: Tasarımı Yapma

Parcelable sınıfını oluşturmadan önce, videoda gösterildiği gibi tasarım yapmaya başlayalım. Kullanıcı girişi için üç EditText nesnesini içeren bir düzen oluşturmalıyız. Ayrıca, etkinlikler arasında geçişi kolaylaştırmak için bir düğme ekleyeceğiz.

activity_main.xml

Adım 3: Parcelable Sınıfını Oluşturma

Düzen hazır olduğunda, Parcelable sınıfını oluşturmaya devam edebiliriz. Bu sınıf, bileşenler arasında aktarmak istediğimiz veriyi temsil edecek. EditText nesnelerinden değerleri tutmak için gerekli alanları tanımlayacağız. Ayrıca, bir yapıcı yöntem ve gerekli get ve set yöntemlerini içereceğiz.

User.java

Parcelable sınıfını tanımladıktan sonra, gerekli yöntemleri ekleyerek Parcelable arayüzünü uygulayacağız: ‘writeToParcel’ ve ‘createFromParcel’. Bu yöntemler, nesnemizin seri hale getirilmesi ve seriden geri dönüştürülmesini işleyecek.

Şimdi Parcelable sınıfımız tamamlandığına göre, eğitimin bir sonraki adımlarına geçebiliriz.

User.java

Adım 4: Parcelable’i Aktiviteler veya Fragmentler Arasında Kullanma

Hazırda bulunan Parcelable sınıfımızı artık aktiviteler veya fragmentler arasında veri transferi için kullanabiliriz. Şimdi bunu nasıl başarabileceğimize bir göz atalım.

Kodumuzda, ‘edFirstName’, ‘edLastName’, ‘edAge’ ve ‘btnSend’ olarak tanımladığımız EditText ve Button nesnelerimiz bulunmaktadır. Bu UI elemanlarına, ‘findViewById’ yöntemini kullanarak referanslarını alıyoruz.

Sonrasında, ‘btnSend’ düğmesine bir onClickListener ekliyoruz. Düğmeye tıklandığında, onClick metodu tetiklenir. Bu metot içerisinde, ‘edFirstName’, ‘edLastName’ ve ‘edAge’ EditText nesnelerinden kullanıcı tarafından girilen değerleri alıyoruz.

Bu değerleri kullanarak, Parcelable sınıfımız olan ‘User’ için yeni bir örnek oluşturuyor ve toplanan verileri onun yapıcı metoduna parametre olarak iletiyoruz.

Bu Parcelable nesnesini başka bir aktiviteye aktarmak için, mevcut aktivite ‘MainActivity’ ve hedef aktivite ‘UserActivity’ olarak belirterek bir intent oluşturuyoruz. ‘putExtra’ yöntemini kullanarak intent’e Parcelable nesnesini ekliyoruz. Anahtar-değer çifti şeklinde, anahtar olarak ‘user’ ve değer olarak Parcelable nesnesini kullanıyoruz.

Son olarak, ‘startActivity(intent)’ yöntemini çağırarak ‘UserActivity’yi başlatıyoruz. Bu, alıcı aktiviteye geçişi başlatırken Parcelable verileri de beraberinde taşır.

Alıcı aktivitede, ‘getParcelableExtra’ yöntemini kullanarak Parcelable nesnesini intent’ten alabiliriz. Aynı anahtarı ‘user’ olarak kullanarak geçerli veriye erişip kullanabiliriz.

İşte Android uygulamamızda aktiviteler veya fragmentler arasında veri transferi için Parcelable’i nasıl kullanıyoruz. Kendi projelerinizde etkili veri transferi için Parcelable’ı keşfetmek ve uygulamak için özgürsünüz.

Adım 5: User Activity’nin Tasarımı

Kullanıcı arayüzümüzü tasarladıktan sonra, düzen dosyasına göz atalım. Kök öğe olarak ConstraintLayout’i kullandık ve üç TextView ekledik: textViewFirstName, textViewLastName ve textViewAge. Bu TextView’ler, Parcelable aracılığıyla aldığımız ilgili verileri görüntüleyecek.

Kısıtlamaların yardımıyla, TextView’leri ekran üzerinde doğru hizalamayı sağladık. layout_width ve layout_height özellikleri ‘wrap_content’ olarak ayarlanmıştır, böylece içeriğe bağlı olarak boyut ayarlanır.

acitivity_user.xml

Sadece birkaç basit adımda, UserActivity için görsel olarak çekici bir düzen oluşturduk. Şimdi, önceki aktiviteden gelen verileri ele alalım.

İşte bu kadar! Parcelable, Android geliştirmede etkili veri transferine yardımcı olan güçlü bir araçtır. Şimdi, UserActivity’de aktarılan verileri nasıl alıp görüntüleyebileceğimize bakalım.

Adım 5: User Activity’de Veriyi Açma

Kodumuzda, tvFirstName, tvLastName ve tvAge gibi TextView nesnelerini tanımladık. Bu TextView’ların referanslarını ‘findViewById’ yöntemini kullanarak alıyoruz.

Sonraki adımda, UserActivity’yi başlatan intent’i ‘getIntent’ yöntemiyle elde ediyoruz. Ardından, ‘getParcelableExtra’ yöntemini kullanarak intent’ten Parcelable nesnesi olan ‘User’ nesnesini alıyoruz ve anahtarı ‘user’ olarak belirtiyoruz.

Veriyi görüntülemek için, her bir TextView üzerinde setText yöntemini kullanarak User nesnesinden değerleri ayarlıyoruz. ‘tvFirstName’ ilk adı, ‘tvLastName’ soyadı ve ‘tvAge’ yaşını görüntüler.

Bu basit adımlarla, Parcelable verileri başarıyla alıp UserActivity’de görüntüledik.

UserActivity.java

Bu, veri transferi için Parcelable kullanma konusundaki rehberimizin sonuna geliyor. Umarım bu videoyu bilgilendirici ve faydalı bulmuşsunuzdur. Herhangi bir sorunuz veya öneriniz varsa, lütfen aşağıdaki yorum bölümünde paylaşmaktan çekinmeyin. İzlediğiniz için teşekkür ederim ve daha fazla Android geliştirme rehberi için beğenmeyi ve abone olmayı unutmayın!

Yorum Yap

Yorum yapmak için tıklayın