C# Windows uygulamasındaki Form’a karşılık gelen Activity üzerinde Android uygulamaları için özelleştirilmiş nesneler yer almaktadır. Yeni bir Activity’e geçiş yapmak için Intent nesnesi kullanılır.
Açmak istediğimiz yeni Activity’nin sınıfı IkinciActivity olsun. Bu durumda gecis adında bir Intent nesnesi oluşturalım.
1 | Intent gecis = new Intent(getBaseContext(), IkinciActivity.class); |
Ardından oluşturduğumuz gecis nesnesini parametre olarak kabul eden startActivity() metodunu çağırmalıyız..
1 | startActivity(gecis); |
Bu şekilde önceden oluşturulmuş bir Activity başlatılır. Bu Activity’e veri göndermek için ise gecis nesnesi aracılığıyla putExtra() metodu çağrılacaktır.
1 | gecis.putExtra("isim","Hürkal"); |
putExtra() metodu ile diğer Activity’e isim değişkeni aracılığıyla “Hürkal” verisini gönderdik.
Ancak gönderilecek veri, yeni Activity’i başlatmadan önce belirlenmelidir. Nihayetinde yazılması gereken kod şu şekildedir:
1 2 3 | Intent gecis = new Intent(getBaseContext(), IkinciActivity.class); gecis.putExtra("isim","Hürkal"); startActivity(gecis); |
Activity ile Gönderilen Veriyi Alma
Şu ana kadar anlatılan her şey, varsayılan değerlere olan saygımdan aynen bıraktığım MainActivity içinde yazıldı. 🙂 Gelen veriyi karşılayacak IkinciActivity içinde yazılması gereken komut şu şekilde olmalıdır:
1 2 3 4 5 | if (getIntent().getExtras()!=null) { String isimGetir = getIntent().getExtras().getString("isim"); if (isimGetir != null) isim.setText(isimGetir); } |
Burada getIntent() metoduna eklemlenen getExtras() metodu ile Activity’e herhangi bir veri eklenip eklenmediğini kontrol ettik. Eğer dönen değer null değilse bu sefer getExtras() metoduna getString(“isim”) ekleyerek veriyi elde ettik. Özetle, başka bir Activity’den gönderilen veriyi şu şekilde elde ediyoruz:
1 | String isimGetir = getIntent().getExtras().getString("isim"); |
One Comment on “Android’de Diğer Activity’e Geçiş ve Activity’ler Arası Veri Gönderme”