Android Activity Arası Veri Aktarımı

Android Aktivite Arası Veri Aktarımı

Android uygulamalarında, farklı aktiviteler arasında veri aktarımı yapmak sıklıkla ihtiyaç duyulan bir işlemdir. Bu işlem, çeşitli yollarla gerçekleştirilebilir. Bu makalede, Android aktivite arası veri aktarımı için kullanılan en yaygın yöntemler ele alınacaktır.

1. Intent Nesnesi Kullanarak Veri Aktarımı

Intent nesnesi, Android’de aktiviteler arasında veri aktarımı yapmak için kullanılan temel araçtır. Bir intent nesnesi, aktarılacak verileri ve hedef aktiviteyi belirtir. Veri aktarımı, putExtra() ve getStringExtra() yöntemleri kullanılarak yapılır.

java
Intent intent = new Intent(this, HedefActivity.class);
intent.putExtra("veri", "Merhaba Dünya!");
startActivity(intent);

Hedef aktivitede, aktarılan veri getIntent() ve getStringExtra() yöntemleri kullanılarak alınabilir.

java
Intent intent = getIntent();
String veri = intent.getStringExtra("veri");

2. Bundle Nesnesi Kullanarak Veri Aktarımı

Bundle nesnesi, Intent nesnesine benzer şekilde, aktiviteler arasında veri aktarımı için kullanılır. Ancak, Bundle nesnesi daha karmaşık veri yapılarına izin verir. Örneğin, Bundle nesnesi, diziler, listeler ve haritalar gibi veri yapılarına aktarılabilir.

java
Intent intent = new Intent(this, HedefActivity.class);
Bundle bundle = new Bundle();
bundle.putString("veri", "Merhaba Dünya!");
intent.putExtras(bundle);
startActivity(intent);

Hedef aktivitede, aktarılan veri getIntent() ve getExtras() yöntemleri kullanılarak alınabilir.

java
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
String veri = bundle.getString("veri");

3. Serializable ve Parcelable Arayüzleri Kullanarak Veri Aktarımı

Serializable ve Parcelable arayüzleri, özel veri yapıları için veri aktarımı yapmayı sağlar. Serializable arayüzü, Java’nın yerleşik serileştirme mekanizmasını kullanırken, Parcelable arayüzü, Android’in özel serileştirme mekanizmasını kullanır.

Serializable arayüzünü kullanmak için, veri yapısının Serializable arayüzünü uygulaması gerekir. Daha sonra, veri yapısı Intent nesnesine putExtra() yöntemi kullanılarak aktarılabilir.

java
Intent intent = new Intent(this, HedefActivity.class);
intent.putExtra("veri", new VeriYapisi());
startActivity(intent);

Hedef aktivitede, aktarılan veri getIntent() ve getSerializableExtra() yöntemleri kullanılarak alınabilir.

java
Intent intent = getIntent();
VeriYapisi veri = (VeriYapisi) intent.getSerializableExtra("veri");

Parcelable arayüzünü kullanmak için, veri yapısının Parcelable arayüzünü uygulaması gerekir. Daha sonra, veri yapısı Intent nesnesine putExtra() yöntemi kullanılarak aktarılabilir.

java
Intent intent = new Intent(this, HedefActivity.class);
intent.putExtra("veri", new VeriYapisi());
startActivity(intent);

Hedef aktivitede, aktarılan veri getIntent() ve getParcelableExtra() yöntemleri kullanılarak alınabilir.

java
Intent intent = getIntent();
VeriYapisi veri = (VeriYapisi) intent.getParcelableExtra("veri");

4. SharedPreferences Kullanarak Veri Aktarımı

SharedPreferences, Android’de aktiviteler arasında veri aktarımı yapmak için kullanılabilecek bir başka yöntemdir. SharedPreferences, cihazda kalıcı olarak saklanan bir veri deposudur. Veri aktarımı, putString() ve getString() yöntemleri kullanılarak yapılır.

java
SharedPreferences sharedPreferences = getSharedPreferences("veri", MODE_PRIVATE);
sharedPreferences.putString("veri", "Merhaba Dünya!");

Hedef aktivitede, aktarılan veri getSharedPreferences() ve getString() yöntemleri kullanılarak alınabilir.

java
SharedPreferences sharedPreferences = getSharedPreferences("veri", MODE_PRIVATE);
String veri = sharedPreferences.getString("veri", "");

Faydalı Siteler ve Dosyalar


Yayımlandı