Sayfalar Arası Geçiş ve Intent Kavramı

* Merhaba arkadaslar , bu yazımızda Activity’ler arası geciş yada başka bir deyişle sayfalar arası geçiş ve İntent kavramlarından bahsetmeye çalışıcagım . Yine her zaman ki gibi yapmak istedigimiz nedir , nasıl bişey oldugunu anlamak için yazının başında iki adet resim vermek istiyorum .

 

 

 

 

* Evet arkadaslar , kısaca programımızın ne yapıcagını belirteyim . Bizim elimizde 2 tane Layout var . İlk sayfamızda bir Button ve ilk sayfada oldugumuzu belirten bir TextView var . Diğer sayfamızda ise sadece 2.sayfada oldugumuzu belirten bir TextView var .
* Uygulamamızın senaryosu ise , ilk sayfada bulunan butona basıldıgında ekrana bir Toast mesajı gostermek ve diğer sayfaya geçmek .
* Toast mesajını onceki 2 yazıda acıklamıstım , dilerseniz oraya bakabilirsiniz .
* Layout tasarımının nasıl yapılacagını daha onceden yazmıstım onu şimdi anlatmıcam . Sadece Layoutumuza karsılık gelen Java dosyasını nasıl olusturucaz onu acıklıcam .

* Arkdaslar öncelikle Java dosyamızı olusturmamız lazım .
Bunun icin src -> paketmize Sağ tık ->  New -> Class ile ilerliyoruz .

 

* Bu aşamadan sonra karsımıza yeni bir pencere geliyor . Şöyleki ;

 

 

* Numaralı alanları açıklamaya calısayım ,

  1. Bu alan bizim Java dosyamızın adı olacak arkadaslar . Dilediğiniz ismi verebilirsiniz . Java bilen arkadaslar icin camelCase standartlarına uygun olmasında fayda var .
  2. Bu alan ,  bizim süper sınıfımızın hangisi olacagına karar veriyoruz . Burada Activity yazıyoruz . Programlarda gorulen  her ekran tasarımı icin bir Java dosyası ve bu dosyanında super classının Activity olması gerekiyor .
  3. Burada arkadaslar , Type already exists hatası var . Ben dosyayı onceden olsuturdugum icin eclipse bana aynı isimde bir dosya var diyor zaten . Buna takılmayalım
* Java dosyamızı olusturdugumuzda bos denebilecek bir sayfa var onumuzde arkadaslar . Burada dikkat ederseniz eğer ; ” public class IkinciSayfa extends Activity ” yazıyor . Az once seçtigimiz super classımızı gostermekte . Sayfa tasarımımızı yuklemek icin arkadaslar sınıfımıza onCreate() methodunu eklememiz lazım .
Bunun icin onCre yazdıktan sonra Control+Space tuslarına basarsak Eclipse bize seçenekleri gosteriyor . En üsttekini seçiyoruz .
 
* OnCreate() methodumuzu ekledikten sonra tasarım dosyamızı eklemek icin setContentView() methodu ile olsutrumus oldugumuz ikinci layout dosyamızı yüklüyoruz.

 

* Sırada olusturmus oldugumuz Activity dosyamızı manifest.xml dosyamıza kaydetmek var . Evet arkadaslar burası cok onemli . Eğer bu adımı yazmassak programımız çalışmaycaktır .
 
* Manifest dosyamızı açtıktan sonra gerekli ayarları yapmamız lazım . Şöyle ki ;

 

* Numaralı alanları açıklayalım ;

  1. Bu kısım application tagları arasına ekledeigimiz kısım .Olusturdugumuz Activity dosyasını activity tagları arasında deklare ediyoruz .
  2. Bu kısım , bizim Java dosyamızı olustururken verdigimiz isim . Paket adı ile beraber yazılıyor . İsterseniz ” .SinifAdi ” şeklinde de verebilirsiniz ama sınıf adını dogru yazmanız lazım .
  3. Bu kısım gerekli olmamakla beraber , action olayı için kullanılır . Buralara girmeyelim şimdilik yoksa içinden çıkamayız
  4. Burada Activity sınıfmızın DEFAULT ozelligi var . Hemen yukardaki activity (ilk sınıfın) tagında category olarak LAUNCHER var . LAUNCHER dedigimiz zaman , bu activitiy’nin  programımızın ana dosyası olacagını ve program başlangıcında ilk olarak çalışacak olan sınıf oldugunu belirtiyoruz . DEFAULT ise tam tersi
* Evet arkadaslar sıra geldi MainActivity Java dosyamıza .

 

* Alanları açıklayalım ;
  1. Butonumuzla iletişime geçtik . Bunu ogrenmistik daha once
  2. Butonumuzun click olayını dinliyoruz . Bunu da ogrenmistik .
  3. Toast mesajımızı ile diğer sayfaya geçtigimizi haber veriyoruz Toast konusuna burada deginmiştim .
  4. Evet arkadaslar en önemli kısıma geldik . Intent kavramından bahsedeyim biraz . Intent sınıfı bize bir sınıftan baska sınıflara geçiş yapmamızı saglıyor . Intent yapıcısında iki parametre var arkadaslar . İlk parametre bulundugumuz sınıf (MainActivity) , İkinci parametre ise gitmek istedigimiz sınıf . Bulundugumuz sınıfı ve gitmek istedigimiz sınıfı belirttikten sonra sırada startActivity() methodu ile diger sayfaya geciyoruz . Bu method bir Intent parametresi alıyor , bizde hemen yukarda olusturdugumuz Intent nesnesini parametre olarak veriyoruz .
  5. Bu ek olsun . Android’de bir Activity başlatmanın 2 yolu var arkadaslar .
    Biri startActivity() diğeri ise startActivityForResult() . startActivityForResult() methodu gidilen sayfadan geriye tekrar bir sonuc doneceginde kullanılıyor . Mesela fotograf seç diye kullanıcıdan bir resim seçmesini istiyoruz . Kullanıcı kendisine acılan resimlerden birini tik’liyor ve bu bize geri donuyor . Şimdilik kafanızı karıstırmasın , ilerde bir resim çekme ve resim seçme programı yapıcaz insaAllah , orada detaylı olarak deginicem .
* Evet arkadaslar , ne yaptıgımızı hatırlayalım . Ek bir Layoutdosyası olusturuduk , ek bir Java dosyası olusturduk ve icine onCreate() methodunu ekledik . Daha sonra bu Java dosyamızı(Activity dosyası) manifest.xml dosyasına kaydettik .  Ve butonumuza tıklandıgında bir Toast mesajı ile bilgilendirme yaptık ve ikinci sayfaya gectik .
* Yazının sonuna gelmiş bulunmaktayız . Projenin komple halini buradan edinebilirsiniz .
* Anlaşılmayan yada daha detaylı olsa daha iyi olur dediginiz kısımlar olursa lutfen belirttin
* Bir sonraki yazımızda arkadaslar , bu sefer bu yazıya ek olarak birde veri gondermeyi gorecegiz . Kısa bir ornek verip meraklandırayım sizleri . 2 tane EdiText alanımız olacak ve buraya ad ve soyad girilip bir butona basıldıgında bu verileri diğer sayfaya taşıcaz . İnsaAllah boyle bir şey yapmıs olacagız
* Yazının bir faydası olmussa eger , içten bir Allah razı olsun deyiniz lütfen
* Mutlu kalın , kod’la kalın ve bol bol çay için ..
1112 Total Views 2 Views Today