İçeriğe geç

Activity Arası Alış-Veriş

Spread the love

Activityler arası geçiş yaparken bilgide aktarılmak istenebilir. İlk activityde isim soy  isim girilen bir kullanıcının ikinci activity de isminin yazması istenilebilir. Intent oluşturulurken içine içine extra bir şey koymak gerekir.
[java]
Intent i1=new Intent(getApplicationContext(),oyun.class);
i1.putExtra("isim", "Osman");
i1.putExtra("soy_isim", "Çetin");
startActivity(i1);
[/java]
Koyulan bu değerlerin açılan ikinci activity de de tanımlanması gerekmektedir.
[java]
Bundle extras=this.getIntent().getExtras();
extras.getString("isim");
extras.getString("soy_isim");
[/java]
İlk activityden  yollanan veriler bu şekilde karşılanmalı ki uygulamamız hata vermesin.

startActivityForResult bir activity den sonuç almak için kullanılır.  Küçük bir örnek vermek gerekirse ikinci açılan ekranda iki sayı toplarsınız ama sonucunun ilk ekranda görüntülenmek istenir. Bunun için
onActivityResult fonksiyonu kullanılır. Öncelikle ilk activity’de özel fonksiyonlar oluşturulur.

Activityler arası geçiş yaparken bilgide aktarılmak istenebilir. İlk activityde isim soy  isim girilen bir kullanıcının ikinci activity de isminin yazması istenilebilir. Intent oluşturulurken içine içine extra bir şey koymak gerekir.
[java]
Intent i1=new Intent(getApplicationContext(),oyun.class);
i1.putExtra("isim", "Osman");
i1.putExtra("soy_isim", "Çetin");
startActivity(i1);
[/java]
Koyulan bu değerlerin açılan ikinci activity de de tanımlanması gerekmektedir.
[java]
Bundle extras=this.getIntent().getExtras();
extras.getString("isim");
extras.getString("soy_isim");
[/java]
İlk activityden  yollanan veriler bu şekilde karşılanmalı ki uygulamamız hata vermesin.

startActivityForResult bir activity den sonuç almak için kullanılır.  Küçük bir örnek vermek gerekirse ikinci açılan ekranda iki sayı toplarsınız ama sonucunun ilk ekranda görüntülenmek istenir. Bunun için
onActivityResult fonksiyonu kullanılır. Öncelikle ilk activity’de özel fonksiyonlar oluşturulur.
[java]
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK && requestCode == REQUEST_CODE) {
Toast.makeText(this, data.getExtras().getString("value"),
Toast.LENGTH_SHORT).show();}}
[/java]
İkinci activitye sonuç gönderecek kod yazılır.
[java]
Intent data = new Intent();
data.putExtra("value", "Sonuç yollama");
setResult(RESULT_OK, data);
super.finish();
[/java]
Böylece iki aktivity arasında iki yönlü veri aktarımını incelemiş olduk.

Tarih:Android

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.