Ara 11

Bundle ile sayfalar arası veri göndermek için öncelikle iki ayrı sayfa oluşturalım.Sayfalardan birine bir buton ekleyip Click özelliğini verelim.Şimdi aynı sayfanın .java uzantılı class yapısı içerisine bir Bundle tanımlaması yapalım.

Button veriGonder;
Bundle yardimci;

Şimdi OnCreate() metodu içerisinde yeni bir Bundle yaratalım ve “veriCek ” isimli değişken oluşturup içerisine “Merhaba Dünya ” diye bir veri ekleyelim.

yardimci = new Bundle();
yardimci.putString("veriCek", "Merhaba Dünya");


Bu sayede diğer sayfada üstüne bindirmiş olduğumuz “Merhaba Dünya” yazısını “veriCek” değişkenini kullanarak elde edebileceğiz.
Şimdi yeni bir Intent oluşturalım.

final	Intent veriGitsin = new Intent(getApplicationContext(),verininGittigiSayfa.class);

Burada görüldüğü gibi veriGitsin adında bir Intent oluşturduk. İçerisine mevcut sayfayı ve verinin gideceği hedef sayfası koyduk.

Şimdi veriGonder butonunun Click metodunu yazalım

veriGonder= (Button)findViewById(R.id.button1);		
		veriGonder.setOnClickListener(new View.OnClickListener() {		
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				veriGitsin.putExtras(yardimci);
				startActivity(veriGitsin);
			}
		});

Görüldüğü gibi veriGonder butonuna tıklandığında veriGitsin Intent’ine yardıncı isimli Bundle’ı ekledik ve Intent’i başlattık. Bu sayede verimiz diğer sayfaya gönderilmiş oldu. En son olarak yapmamız gereken karşı sayfada da bu veriyi karşılamak.
Şimdi bunu yapmak için verinin karşılanacağı sayfaya bir adet TextView ekleyelim. Ardından o sayfanın .java uzantlı class yapısı içerisine girelim.

Bu class’ın onCreate() metodunda;

TextView gelenVeri = (TextView) findViewById(R.id.textView1);
Bundle gelen = getIntent().getExtras();
gelenVeri.setText(gelen.getString("veriCek"));

gelen isimli Bundle oluşturup buna getIntent() metodu ile alınan extraları atadık. Son olarak gelen nesnesinin getString() metodunu çağırarak taşınan değeri String olarak aldık ve TextView içerisinde görüntülettik. Projemizi çalıştırdığımızda aşağıdakine benzer bir ekran görüntüsü elde edilecektir.

14

 

14-2

Yorum Yaz