Anasayfa » Android, Java ve Java Teknolojileri

Android Programlama – Menu, Toast, AlertDialog

8 Temmuz 2012 6.105 kez okundu Yorum yok
1 Star2 Stars3 Stars4 Stars5 Stars (1 oy,5 üzerinden : 5,00 )
Loading...

Merhaba arkadaşlar, bu yazımızda daha önceki yazımızda geliştirdiğimiz form uygulamasını biraz daha geliştireceğiz. Bu uygulamamızda menu ve toast (bilgilendirme mesajları) üzerinde duracağız. Bir önceki yazımızı okumayanlar buradan okuyabilir.  Okumak istemeyenler bir önceki uygulamayı indirip üzerinde devam edebilirler.

Diğer yazılarımız;

İlk olarak her kitaba bir kullanıcı yorumu bölümü ekleyeceğiz. Yani kitabı kaydeden kişi kendi yorumunu ya da notunu bu bölüme girecek. Daha sonra biz bir menü ekleyerek kullanıcının eklediği bu notu bir toast mesajı olarak göstereceğiz.

Yorum ekleyeceğimiz için model dosyamıza yani book.java classımıza “comment” isminde string değişken tanımlıyoruz.

Daha sonra kullanıcın form ekranında (main.xml) yorumu girebileceği bir satır ekliyoruz.

Bu yorum alanı iki satırlık bir alandan oluşuyor. Bunun için single line özelliğini false yapıp. lines özelliğini 2 yapıyorum. Burada ayrıca ScrollView elemanı ekleyerek ekrana sığmayan formumuzu aşağı yukarı kayar hale getiriyorum.

Ardından Activity classımda sırasıyla şu değişiklikleri yapıyorum.

1) Yorum bölümüne erişebilmek için yeni bir EditText tanımlıyorum.

2) onCreate() metodu içinde view bölümünde tanımladığımız yorum alanı ile bu yeni değişkenimizi bağlıyorum

3) onSave() metodu içinde kayıt işlemini yapmamız gerekiyor. Yani kullanıcının girdiği yorumu book nesnemize kaydetmemiz gerekiyor.

4) onListClick() metodumuzu da düzenleyerek kullanıcı listeden eleman seçerse form ekranına yorumla birlikte göndereceğiz.

Çalıştırdığımzda ise,

Bundan sonraki adımımız, opsiyon menüsü tanımlamak. Kullanıcı cihazında MENU tuşuna bastığında karşısında menümüz çıkacak ve bu menüde Yorum seçeneği olacak. Kullanıcı bu seçeneği seçerse. İlgili kitabın yorumu ekranda toast olarak görünecek.

Menüler xml dosyalarıyla yaratılırlar. Şimdi biz bu menümüzü yaratmak için res/menu/option.xml adında bir dosya yaratalım. İçini de şu şekilde dolduralım.

Burada dikkat ettiyseninz icon değeri var, Ben bunun için 32px lik bir ikon ayarlayıp res/drawable altına attım.

Menümüzün programda görünmesi için Activity classımıza şu kodu ekliyoruz.

Burada eğer programımızı çalıştırıp menü tuşuna basarsak menümüzün açıldığını göreceksiniz.

Şimdi gerekli kontrolleri hazırlayarak, Yorumu Gör seçeneği seçildiğinde ilgili kitabın yorumunu ekrana toast mesajı olarak basacağız. Ancak bu noktada bir sorun var. hangi kitabın yorumunu göstereceğiz.

Bu problemi çozmek için, current adında bir değişken tanımlayıp. Yeni kayıtta ve listede tıklamalarda bu değişkeni yerel book değişkenine karşı kullanacağız. Adım adım yapalım.

1)Activity classımıza current adında bir değişken tanımlayalım.

2) onSave ve onListClick metodlarımızda “b” değişkeni yerine current kullanalım.

Şimdide menü tuşuna basıldığında yapılacak işlemleri kodlayalım. Bunun için onOptionsItemSelected isminde bir metod kullanıyoruz. Bu metodu activity classımıza ekleyelim. Burada ilk başta mesajımızı current null ise “Kitap seçilmedi” şeklinde yaratıyoruz. Daha sonra current null değilse ilgili yorumu alıyoruz. Ve toast  mesajına bu yorumu vererek ekranda görünmesini sağlıyoruz.

Peki biz toast mesajı değilde alertDialog mesajı göstermek istersek ne yapmamız gerekiyor? O zaman toast mesajı yerine şunu yazmamız gerekiyor.

Son olarakta şöyle bir uygulama yapalım. Menümüzde sadece yorum okuma seçeneği olmasın da, aynı zamanda bulunduğumuz tab’ı değiştiren bir seçenek olsun. Örneğin kitap listesindeyken MENU tuşuna bastığımızda detay yani form sayfasını açabileceğimiz bir buton olacak. Detay sayfasında iken de liste sayfamızı açabileceğimiz bir buton olacak. Bu menünün ikinci seçeneği ya detay ya liste olacak ve bu yapı bulunduğumuz sayfaya göre dinamik değişecek. Öncelikle ekran görüntülerine bakarak nasıl bir şeyden bahsettiğimizi anlayalım.

Bunun için yapmamız gerekenler şunlar;

İlk olarak option.xml dosyasına ikinci bir item ekliyoruz

Daha sonra Activity classımızda menümüzü tutabileceğimiz yeni bir değişken tanımlıyoruz.

onCreateOptionsMenu() metodu içinde gelen menüyü bu tanımladığımız değişkene eşitliyoruz.

Bundan sonrası onOptionsItemSelected() metodu içinde, if else yapısı içinde hangi butona basıldığını buluyoruz. Eğer bizim seçeneğimiz seçilmiş ise

Hangi tab’da bulunduğumuzu öğrenerek diğer tab’a geçiş yapıyoruz. Bu arada menümüzün başlığını  ve ikonunu tekrar güncelliyoruz.

 
Activity classımızın son hali ise;
Şimdi geriye dönüp baktığımızda, öncelikle menü oluşturduk. Bu menüden yararlanarak toast mesajları çıkardık. Sonra bu mesajlar yerine alertDialog lar kullandık. Ve en son dinamik olarak menümüzdeki seçenekleri değiştirdik. Sonraki yazılarımızda projemizi geliştirmeye devam edeceğiz, takip etmeye devam edin.

Projenin kaynak kodlarını buradan indirebilirsiniz. Rar şifresi: www.kodmerkezi.net

<<< Önceki:

Sonraki: >>>


Facebookta Paylaş

Yorum Bırakın!

Yorum yaz, yada kendi sitende trackback (Geri besleme) olarak ekle. Ayrıca RSS ile bu konuya üye olabilirsin. .

Nazik olun. Temiz tutun. Konu dışına çıkmayın. Spam yaratmayın.

Bu tagları kullanabilirsiniz:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Bloğumuz gavatarı desteklemektedir. Kendi gavatarınızı edinmek için lütfen Gravatar a üye olun.