Android

Android Activity’ ler Arası Veri Taşıma

Android’de, aktiviteler arasında veri taşımak için birkaç yöntem vardır. Bu makalede Intent ile activity ler arası veri taşıma nasıl yapılır bunu göreceksiniz.

Intent ile Veri Taşıma: Bu yöntemde, bir aktiviteden diğerine veri taşımak için bir Intent oluşturulur ve putExtra() yöntemi kullanılarak veriler eklenir. Alıcı aktivitede, getIntent() yöntemi kullanılarak Intent alınır ve getExtra() yöntemi ile veriler alınır.

Örnek kod:

Aktiviteden veri gönderme:

Alıcı aktivitede veri alma:

Şimdi bunula ilgili bir örnek yapalım. Örneğimizde activity_main.xml dosyamızda 3 adet EditText ve 1 adet Button bulunmakta. activity_main2.xml dosyamızda ise 1 adet TextView bulunmaktadır.

MainActivity dosymızda Button tıklandığı zaman EditText denetimlerine girilen verilerin diğer activity’ e taşınmasını sağlayalım.

activity_main.xml dosyamız:

activity_main2.xml dosyamız:

MainActivity.java dosyamız:

Yukarıdaki kodda, ana aktivitemizin onCreate() yönteminde EditText’leri ve Button’u tanımlıyoruz. Daha sonra, Button’a bir OnClickListener ekleyerek tıklama olayını dinliyoruz. Button tıklandığında, Intent sınıfından bir nesne oluşturuyoruz ve diğer aktiviteye geçmek için startActivity() yöntemini kullanıyoruz. Intent nesnesine putExtra() yöntemi ile verileri ekliyoruz. Bu verileri diğer aktivitede almak için, anahtar değerleri kullanacağız. Şimdi diğer aktivitemizde bu verileri nasıl alacağımıza bakalım.

MainActivity2.java dosyası:

Bu kod, MainActivity2’de, onCreate() yöntemindeki kod bloğudur. Bu kod bloğu, diğer aktiviteden gönderilen verileri alır ve TextView’e yazdırır.

İlk olarak, getIntent() yöntemi ile diğer aktiviteden gelen Intent nesnesini alırız. Daha sonra, getStringExtra() yöntemi ile bu intent nesnesi içindeki “veri1”, “veri2” ve “veri3” anahtarlarına karşılık gelen değerleri alırız.

Bu değerleri daha sonra “Veri 1: “, “Veri 2: ” ve “Veri 3: ” gibi metinlerle birleştiririz ve son olarak oluşan metni textView.setText() yöntemi ile TextView’e yazdırırız.

Bu şekilde, diğer aktiviteden aldığımız verileri MainActivity2’de görüntüleyebiliriz.

Not:

Intent kullanımında, String ve sayısal veriler arasında farklılıklar vardır.

String veriler, putExtra() yöntemi kullanılarak Intent nesnesine eklenirken, sayısal veriler getStringExtra() yöntemi yerine getIntExtra() veya getFloatExtra() yöntemi kullanılarak eklenir.

Örneğin, ana aktiviteden MainActivity2‘ye geçirilen bir sayısal değer için aşağıdaki örneği inceleyebilirsiniz.:

Daha sonra, MainActivity2’de sayısal değeri getIntExtra() yöntemi ile alabiliriz. Aşağıdaki örnek, MainActivity2’de sayısal değeri getIntExtra() yöntemi ile alır:

Ayrıca, sayısal değerler için putFloat() veya putDouble() yöntemleri de kullanılabilir.

Özetle sayısal veriler getIntExtra(), getFloatExtra() veya getDoubleExtra() yöntemleri ile alınabilir.

Yorum yap