Android Dersleri 16
Merhaba. Android derslerine hız kesmeden devam edelim. Bu yazımda, sayfalar arası veri aktarımını sağlayan bir diğer yöntem olan Bundle kullanımını anlatacağım.
Projeyi oluşturduğunuzu varsayarak doğrudan ilk sayfamızın görüntüsünü vererek başlayalım. Uygulamamızın giriş sayfasını aşağıdaki gibi yapın.
Sarı ünlem hatalarını, sizin hallettiğinizi varsayıyorum yine. Bunları strings.xml sayfasından düzeltebiliyordunuz hatırlarsanız. Şimdi uygulamamızda yeni bir sayfa oluşturalım ve onun görüntüsünü de şu şekilde yapalım.
Bu uygulamamızın 2.sayfası. LargeText kısmına, ilk sayfada girilen değeri yazacak. Tabi bu veri aktarmayıBundle ile yapacağız. Şimdi AndroidManifest dosyamızın görüntüsüne bakalım. Eklediğimiz bu 2.sayfa için bir activity tagı eklememiz gerekiyor. Onu da şu şekilde yaptım. Sadece 2 satır kod ekledim.
Bakın burada sonraki <activity> etiketini ekledik. Şimdi görsel kısım bittikten sonra kodlamaya geçelim. İlk olarak MainActivity sınıfımızda yani anasayfamıza ait olan sınıfta kodlamalar yapalım.
Şimdi buradaki numaralı alanları anlatalım.
1 numaralı alanda Bundle, Buton ve Edittext‘ten birer nesne oluşturduk.
2 numaralı alanda bunları id’leri ile bağladık (Bundle hariç). Bundle için id bulunmuyor.
3 numaralı alanda bir Intent nesnesi oluşturduk. Parametre olarak ilkini sabit bir değer, diğerini ise hangi sayfanın sınıfı açılacak onu yazdık.
4 numaralı alanda, butona tıklandığında bir Listener oluşturduk.
5 numaralı alanda, butonun tıklanma olayını yazdık. Buraya tıklandığında olacaklar yazıldı.
6 numaralı alanda, edittext içerisine yazılan değer bir String değişkene atandı. Bunun için gettext()metodu kullanılır.
7 numaralı alanda Bundle’dan oluşturduğumuz bnd nesnesi üzerinden putString() metodunu çağırdık. İlk parametre, girilen değeri nerede tutacağımızı gösterir. Bu değeri, diğer sayfada alırken de yine bu“veri” ‘yi kullanacağız. 2.parametre ise aktarılacak değerdir.
8 numaralı alanda intent’den oluşturduğumuz i nesnesi üzerinden putExtras() metodunu çağırdık. Parametre olarak da bnd nesnesini verdik. Bu nesne bizim değerimizi taşıyacak nesnedir.
9 numaralı alanda da son olarak bir aktivite başlattık ve parametre olarak da intent nesnesini verdik.
Şimdi son olarak da oluşturduğumuz diğer sayfanın kodlarını verelim.
Burada ilk olarak bağlama yaptık. Daha sonra yine bir Bundle nesnesi oluşturduk ve buna getIntent()metodu ile alınan extraları atadık. Daha sonra bu alinan nesnesi’nin getString() metodunu çağırarak taşınan değeri String olarak aldık ve son olarak da bunu goster adlı Textview‘a aktardık.
Uygulamamızın ekran çıktısı aşağıdaki gibi olacaktır.
Görüldüğü gibi butona basında diğer sayfaya bu girilen değeri taşıdı ve 2.ekranda bu değeri yazdırdı. Son olarak da uygulamamızdaki dosyaları göstermekte fayda var. Projemizin dosyaları aşağıdaki gibidir.
Bu derste, sayfalar yani aktiviteler arası veri alışverişi yapmanın 2.yöntemi olan Bundle’ı anlattım. Diğer derslerde görüşmek üzere.