programlama etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
programlama etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

10 Şubat 2012 Cuma

Android Programlama X - Shared Preference ile Ayar Kaydetmek

Herkese merhaba.

Bu yazımda sizlere Shared Preference'ın ne olduğundan ve bunu kullanarak uygulamanızdaki bazı verileri nasıl saklayabileceğinizden bahsetmeye çalışacağım.

Shared Preference ile uygulamanızdan veriler kaydedebilir, bunları daha sonra okuyabilirsiniz. Bu veriler cihazın hafızasında xml türünde saklanacaktır. O nedenle uygulamayı kapatsanız da kaydettiğiniz veriler saklanacaktır. Veriler sistemde /data/data/<uygulamanızınpaketadı>/shared_preferences/ gibi bir dizinde tutuluyor.

Bundan faydalanarak uygulamanızın ayarlarını saklayabilirsiniz. Bu yazıda buna küçük bir örnek yapıp Shared Preference'ın çalışma mantığını anlamaya çalışacağız.

İşe SharedPreferenceOgreniyorum isminde bir proje oluşturarak başlayalım.

Ana layout dosyasının içini boşalttım ve başlıyorum.
Aşağıda gördüğünüz gibi bir tane CheckBox, bir tane SeekBar, bir tane EditText ve iki tane Button nesnesi ekleyelim.
Şimdi xml görünümüne geçip düğmelerin ikisine de android:layout_weight="1" özelliğini ekleyelim.
Tasarım kısmına geçtiğimizde düğmelerin eşit ağırlıklarla genişletildiğini göreceksiniz.

android:layout_weight özelliği sayesinde düğmelerin ikisi de 1'er birim alan kapalayacak şekilde içinde bulundukları layout'a dağıtıldılar. Dikkat ederseniz düğmeleri orientation özelliği horizontal yani yatay olan bir linear layout kaplıyor.
Şimdi kullanacağımız nesnelerin id, text ve gerekli diğer özelliklerini ayarlayalım.

Ben "CheckBox nesnesi varsayılan olarak işaretli olsun." diye bir karar alarak, android:checked="true" diye bir özellik ekledim mesela.
Daha sonra düğmelere de tıklama metodlarını ekleyelim.
Şimdi işin java kısmına geçelim.

Gördüğünüz gibi gerekli nesneleri tanımlıyoruz.
Düğmeler için gerekli tıklama metodlarını oluşturuyoruz.
Şimdi Shared Preference kullanırken ihtiyacımız olacak etiketler için bir sınıf oluşturalım. Buna neden ihtiyacımız var? Projeniz büyüdükçe kullanacağınız etiketlerin, tanımlayacağınız sabitlerin sayısı artacaktır. Bunlar aynı sınıf ve/veya paket içinde kullanılmak zorunda da olmayabilirler. O nedenle bu tür etiketleri ve sabitleri tanımlayacak yeni bir sınıf oluşturmakta fayda var.
Bu sınıfın ekleneceği paketin adını da com.androidce.sharedpreferenceogreniyorum.sabitler şeklinde yazdım ben. Böylece eğer ayrı bir paketten erişme ihtiyacı duyarsam bile bu paket ismini ekleyip istediğim etiket ve sabitlere erişebileceğim.
İçine String türünden etiket olarak kullanacağımız sabit değerler tanımlıyoruz.
Şimdi ana dosyamıza geri dönelim.

Gördüğünüz gibi sabitlere erişebilmek için sabitlerin olduğu paketi import komutuyla ekledik.

Ayrıca bir tane SharedPreference nesnesi tanımladık.
Bu tanımladığımız SharedPreference nesnesine onCreate metodu içinde ilk değerini veriyoruz.

Daha sonra bizim bu eklediğimiz nesnelerin durumlarını kaydetmemize yarayacak ayarla isminde bir metod tanımlıyoruz. Sırasıyla boolean, int ve String türünde parametreler alıyor çünkü CheckBox'ın işaretli olup olmadığı bir boolean, SeekBar'ın o anki konumu bir int ve EditText'in içinde yazan yazı bir String olarak saklanıyor. Biz bu 3 nesneye ait bilgileri parametre olarak bu metoda vereceğiz, o da bunları SharedPreference sayesinde kaydedecek.

Peki bunu nasıl yapıyor? İlk önce SharedPreference.Editor türünde bir nesne oluşturuyoruz ve daha önce oluşturduğumuz SharedPreference nesnesinin edit metoduyla bu yeni oluşturduğumuz nesneye ilk değerini veriyoruz.

Daha sonra (Intent ile etkinlikler arası veri aktarma mantığının aynısı), put metodlarıyla bir etiket ve değer kullanarak ayarlarımızı ekliyor/yazıyoruz.

İşimiz bittiğindeyse commit metoduyla ayarlarımızı kaydediyoruz.

ayarla metodumuz hazır olduğuna göre düğmelerin tıklama metodlarının içini doldurabiliriz artık.

Kaydet düğmesine tıklandığında sırasıyla CheckBox, SeekBar ve EditText nesnelerinin o anki özellikleri alınıp, bizim yazdığımız ayarla metodu çağrılıyor.

Sıfırla düğmesine tıklandığında ise önce bu nesnelerin özelliklerini, daha sonra da SharedPreference ile kaydedilen ayarları sıfırlıyoruz.
Ayarları kaydettik ama uygulamanın bu ayarları okuması da gerekecek. O yüzden ayarOku isimli bir metod daha yazıyoruz ve içini aşağıdaki gibi dolduruyoruz.

Gördüğünüz gibi kaydederken kullandığımız etiketleri kullanarak ayarları önce okuyor, sonra da etkinlikteki nesnelerin özelliklerini bu okuduğumuz ayarlara göre değiştiriyoruz.

Burada get metodlarının ikinci parametreleri varsayılan değerlerdir (yani SECIMKUTUSU etiketi için varsayılan olarak true değeri, yukarıda öyle karar vermiştik).

Ayrıca uygulama ilk açıldığında ayarları okuyup en son kaldığımız yerden devam etsin diye bu etkinliğin onCreate metodunun içine ayarOku metodunu çağıran bir satır da ekliyoruz.
Şimdi düğmelere tıklandığında bilgi almak için Toast ekleyelim iki düğmeye de.
Aşağıda strings.xml dosyasının son halini görüyorsunuz.
Şimdi uygulamamızı çalıştırıp sonuçları görebiliriz.
Gördüğünüz gibi Kaydet düğmesine tıkladığımızda uygulama ayarları kaydedip bize Toast ile bilgi veriyor.
Şimdi ayarlar gerçekten kaydedilmiş mi görmek için uygulamadan çıkıp, uygulama listesinden uygulamamızı bulalım ve tekrar çalıştıralım.
Uygulamanın en son bıraktığınız ayarlarla geri gelmiş olması gerekli.

Son olarak Sıfırla düğmesini de deneyelim.
Gördüğünüz gibi ayarlar sıfırlandı ve bilgi verildi.

Evet, bugünkü yazım bu kadar arkadaşlar. SharedPreference'ın ne olduğunu ve nasıl kullanıldığını görmüş olduk. Ayrıca layout_weight özelliğinden biraz bahsettik. SharedPreferece Bu tür ayar kaydetme işlemlerinde gerçekten işinize yarabilecek bir özellik.

Bu yazıda yazdığımız uygulamayı buradan indirebilirsiniz.

İnşallah anlaşılır olmuştur.

Kolay gelsin, iyi çalışmalar. :)

8 Şubat 2012 Çarşamba

Android Programlama VII - Uygulamalarda Çoklu Dil Desteği

Herkese merhaba.

Bu yazımda uygulamalarımızı nasıl birden fazla dili destekleyecek hale getireceğimizden bahsedeceğim.

Yazdığımız uygulamalar büyüdükçe ve biz dünyanın her yerinden insanların uygulamamızı kullanabilmesini istedikçe, uygulamamızı daha fazla dili destekler hale getirmemiz gerektiği kaçınılmaz. Neyse ki bu iş aslında o kadar da zor değil.

Daha önceki uygulamalarımızda, uygulama içinde geçecek metinleri strings.xml dosyasına yazmayı ve oradan kullanmayı neden önerdiğimi, bu yazıda daha iyi anlayacaksınız. :)

Uygulama olarak bir önceki yazımda yaptığım kayıt formu uygulamasını kullanacağım.

CokluDilOgreniyorum isminde yeni bir proje oluşturup, içindeki dosyaların hepsini bir önceki projedeki dosyalarla deeğiştirdikten sonra, aşağıda gördüğünüz açık olan EtkinlikBir.java, EtkinlikIki.java, Sabitler.java, strings.xml ve manifest dosyasının içinde bir önceki uygulamanın paket adından doğan hataları düzelterek işe başlıyoruz.
Gördüğünüz gibi bu uygulamanın paket adı com.androidce.cokludilogreniyorum şeklinde.

Şimdi strings.xml dosyamızı açalım.

Çoklu dil destekleyen uygulamalarda genellikle diğer dillere çevirileri, uygulamayı yazan insan yap(a)mayacaktır. Bu yüzden de çeviriyi yapacak diğer insanların işini kolaylaştırmak ve daha doğru çeviriler yapabilmelerine olanak sağlamak adına, kullandığımız anahtar kelimeleri aşağı yukarı herkesin anlayabileceği şekilde yazmakta fayda var. Ben burada anahtar kelimelerimi İngilizce'ye çevireceğim.
Daha kolay değişiklik yapabilmek için Eclipse'in ara & değiştir (search & replace) özelliğinden faydalanalım.

Aşağıda gördüğünüz gibi değiştirilecek metni seçtikten sonra Ctrl + H tuşlarına basıyoruz.
Bu sorgu ekranında aşağıdaki Değiştir (Replace) tuşuna basıyoruz.
Yeni metni yazıp OK'e tıkladığımızda Eclipse, tüm metin_ eşleşmelerini text_ ile değiştirecek. Gördüğünüz gibi 3 dosya içinde 26 yerde değişiklik yapılacağına dair bilgi veriliyor.
Aşağıda da gördüğünüz gibi değişiklikler yapıldı.
Şimdi etiketlerin kalan kısımlarını da değiştirelim. İşlemin bitmiş halini aşağıda görebilirsiniz.
Şu an hatalar almış olabilirsiniz, bu normal bir durumdur. Bu etiketlerin kullanıldığı java dosyalarını da düzenlememiz gerekiyor.
Gördüğünüz gibi hala eski etiketler kullanılıyor. Bunun gibi hata vermiş noktaları da düzelttikten sonra bir sonraki adıma geçebiliriz.

Artık etiketleri de herkesin anlayabileceği halde olan bir uygulama var elimizde. Şimdi bu uygulamaya İngilizce dil seçeneğini ekleyelim.

Bunun için res dizini içindeki values dizininden bir kopya oluşturacağız.

values dizini seçiliyken Ctrl tuşuna basarak bu dizini res dizini üzerine taşıyoruz. Böylece aynı dizine values dizininden bir kopya oluşturacağız.
Oluşacak yeni dizine values-en ismini veriyoruz. Böylece eğer uygulamanın çalıştığı cihazın dili İngilizce'yse, values yerine values-en dizini içindeki strings.xml kullanılacak. Aynı şekilde Türkçe dili için de -tr ekleyebilirdik values kelimesinin sonuna. Ama bu durumda uygulamamızın varsayılan dili zaten Türkçe ve biz ek olarak İngilizce dilini ekliyoruz.
Şimdi artık çeviri zamanı.

values-en dizini içindeki strings.xml dosyasını açıp metinleri çevirmeye başlayabiliriz.
Yukarıda bahsettiğim gibi, eğer siz bu metinleri çeviremeyecekseniz, bu strings.xml dosyasını başka birisine gönderip ondan çevirmesini ve size geri göndermesini isteyebilirsiniz. Bu şekilde başkaları da sizin uygulamanıza katkı sağlayabilir. Ve her isteyene uygulamanızı kendi dilinde çalıştırma imkanı da sunmuş olursunuz.

Çeviri bittikten sonra aşağıdaki gibi bir hale gelmiş olmalı strings.xml dosyanız.
Artık uygulamayı çalıştırıp denemelerimiz yapabiliriz ama şöyle bir durum var. Android 2.2 sürümüyle uygulama geliştirdiğimiz için eğer elinizde bu sürüme ait bir sanal cihaz varsa içinde Türkçe desteği olmayacaktır. O nedenle uygulamayı Android 2.2 olan sanal bir cihazda çalıştırırsanız dil İngilizce olduğundan dolayı uygulamanız direk İngilizce başlayabilir.

Peki 2 dili birden nasıl deneyebiliriz? Basit. Emulatörde Türkçe desteği Android 2.3.3 sürümünden itibaren var. Bu yazıda anlattığım gibi Android 2.3.3 veya üstü bir sürüme sahip yeni bir sanal cihaz oluşturun. Daha sonra çalıştırmayı aşağıdaki gibi gibi yapın.
Eğer Android Application altında bir seçenek yoksa Android Application'a çift tıklayarak yeni bir ayar oluşturabilirsiniz. Daha sonra aşağıdaki ekranı görebilmeniz gerek. Target kısmından cihazımızı seçeceğiz. Buradaki seçeneğin Manual'de durmasında fayda var. Böylece uygulamanızı çalıştırırken hangi cihazda çalıştıracağınızı seçebilirsiniz.
Gördüğünüz gibi uygulama çalıştırılmadan önce hangi cihazla çalıştırmak istediğimizi bize soruyor. Ben 2.3.3 olan sürümü seçiyorum.
İşte uygulamamız çalıştı. Ben bu sanal cihazın dilini önceden Türkçe'ye ayarladığım için uygulamamız Türkçe çalıştı.
 Şimdi uygulamadan geri tuşuyla çıkıp dil ayarlarını değiştirelim.
Dili İngilizce yaptıktan sonra uygulamayı tekrar başlattığınızda sonucu görebilirsiniz.
Gördüğünüz gibi artık uygulamamız birden fazla dili destekliyor.

Bu yazıda bir uygulamaya nasıl birden fazla dil desteği eklendiğini, bunu yaparken Eclipse'in bize sağladığı bazı kolaylıkları ve birden fazla sanal cihaz varken istediğiniz birisinde uygulamanızı nasıl çalıştırabileceğinizi anlatmaya çalıştım.

Bu yazıda oluşturduğum projeyi buradan indirebilirsiniz.

İnşallah faydalı olmuştur.

Kolay gelsin, iyi çalışmalar. :)

7 Şubat 2012 Salı

Android Programlama VI - Birden Fazla Etkinlik (Activity) Kullanma, Aralarında Veri Aktarımı ve Toast Kullanımı

Herkese merhabalar.

Bu yazımda sizlere birden fazla etkinlik (activity) kullanmayı, bunlar arasında geçiş yapmayı, veri aktarmayı ve kullanıcıya bilgi vermek için Toast nesnesini kullanmayı anlatmaya çalışacağım.

Şu ana kadar yazdığımız uygulamalarda tek bir etkinlik vardı. Artık uygulamamıza birbirinden farklı etkinlikler ekleyerek uygulamamızın işlevselliğini artırabileceğiz.

Uygulamalar büyüdükçe burada her şeyi anlatmak zorlaştığı için artık üzerinde çalıştığımız projenin son halini gönderilerin sonuna ekleyeceğim. Böylece dosyayı indirip daha detaylı inceleyebilirsiniz.

Artık işe başlayalım. EtkinlikOgreniyorum isimli bir proje oluşturarak başlayabiliriz.

Bu seferki uygulamamız bir kayıt formu örneği. Girdiğimiz bilgileri bize farklı bir etkinlikte gösterecek.

Ayrıca bu seferki uygulamamızda 2 tane etkinlik olacağı için 2 ayrı tasarım yapacağız. O yüzden de main.xml dosyasının adını değiştirmenin uygun olacağını düşündüm. Bunu aşağıda görüldüğü gibi yapabilir ya da dosya seçiliyken F2 tuşuna basabilirsiniz.
İlk etkinliğimizin tasarımını içerecek dosyaya etkinlik_bir.xml ismini verdim. Yalnız dikkat edilmesi gereken bir nokta var. EtkinlikBir.java dosyası içinde hala main.xml dosyasına ulaşılmaya çalışılıyor. Bunu aşağıda görüldüğü gibi düzeltiyoruz yoksa hata almaya devam edeceğiz.
Şimdi ilk etkinliğimiz için tasarımımızı yapalım.

Biraz karışık bir tasarım olduğu için (beni baya uğraştırdı) her şeyi burada adım adım anlatamadım. O yüzden son halinden bir görüntü ekliyorum. İlk seferde aynısını yapamayabilirsiniz, gayet doğal. Gönlünüzden geldiği gibi bir tasarım da yapabilirsiniz. ;) Hiç anlamazsanız, projenin son halini gönderinin sonundan indirip, benim hazırladığım dosyaları da kullanabilirsiniz kendi projenizde. Seçim sizin.
Bu tasarımda nerede hangi nesnenin olduğunu merak edenler için Outline penceresinden bir ekran görüntüsü ekledim aşağıya.
Şimdi ilk etkinliğin tasarımını bitirdiğimize göre gelin 2. etkinliğimizi oluşturalım.

Yeni bir etkinlik oluştururken yapmanız gerekenler temelde şöyle; etkinlik için bir java sınıfı oluşturmak, o etkinliğin tasarımı için bir xml dosyası oluşturmak ve en önemlisi bu etkinlikle ilgili bilgiyi uygulamamızın manifest dosyasına eklemek.

Bu dosyaları elle de oluşturabiliriz ama elimizdekilerden yeni birer kopya çıkarsak işimiz kolaylaşabilir.

Bunu basitçe dosyamıza sağ tıklayıp Copy diyerek, daha sonra da o dosyanın bulunduğu dizine sağ tıklayıp Paste diyerek yapabiliriz. Daha sonra yeni dosyanın ismini de değiştirmeliyiz.

Dosyalara gerekli isimleri verdikten sonra içlerini açıp önceki etkinlikle ilgili yerleri silebiliriz.

Sıra ikinci etkinliğin de tasarımını yapmakta.
İkinci etkinliğe ait java dosyasında aşağıdaki değişikliği de yapmalıyız yoksa bu etkinliği çalıştırsak bile ilk etkinliğe ait tasarım dosyası kullanılacaktır.
Şimdi AndroidManifest.xml dosyasını açıyoruz. Application görünümünde aşağıda görüldüğü gibi Add tuşuna tıklıyoruz.
Etkinlik ekleyeceğimiz için Activity'yi seçiyoruz.
Aşağıda görüldüğü gibi eklenen etkinliğin adını ve başlığını seçmemiz gerekiyor. Browse tuşuna tıklıyoruz.
Yeni etkinliğimizi seçiyoruz.
Aynı şeyi başlık için de yapıp, strings.xml dosyası içindeki app_name'i seçiyoruz. Bu etkinliğin başlığının farklı olmasını isterseniz strings.xml içine bir girdi daha ekleyip burada onu da gösterebilirsiniz. Ben aynı başlığı kullandım.
Xml görünümüne geçersek AndroidManifest.xml dosyamızın şu an ne halde olduğunu görebiliriz.
Gördüğünüz gibi etkinliğimiz buraya eklenmiş.

Burada dikkatinizi çekmek istediğim bir yer var. Gördüğünüz gibi EtkinlikBir dediğimiz etkinliğimiz de burada. Ve tanımı içinde intent-filter diye etiketlenmiş bazı tanımlamalar var. Bu tanımlamalar uygulamanın bu etkinliği kullanarak başlayacağını belirtiyor. Yani uygulama EtkinlikBir isimli etkinlikten başlayacak.
Şimdi etkinlik_bir.xml dosyasını açıp eklediğimiz düğmelerin tıklanma olaylarını belirleyelim.
Aynı şeyi etkinlik_iki.xml dosyasında da yapalım.

Etkinlikler arasında veri aktarırken verilere bazı etiketler vereceğiz. Daha sonra biz bu etiketleri değiştirmek istersek sıkıntı yaşamayalım diye bu etiketleri sabit değerler olarak ayrı bir sınıf içinde tutmak mantıklı bir çözüm. Bunun için yeni bir sınıf oluşturuyoruz.
İçine etkinlikler arasında göndereceğimiz her veri için sabit değerler tanımlayalım.
Şimdi artık kodlama zamanı.

EtkinlikBir.java ile işe başlayalım.
Kullanacağımız nesnelere ait değişkenler oluşturduk ve bunları findViewById metodu ile belirledik.
Düğmelerin tıklanma metodlarını da yazalım.

Burada gönder düğmesi bilgileri ikinci etkinliğe gönderecek. Peki bunu nasıl yapıyoruz? Şöyle.

Etkinlikler arasında geçiş yapmak için Intent türünde bir nesneye ihtiyacımız var. Yukarıdaki görüntünün 40. satırında EtkinlikIki'ye geçmemizi sağlayacak bir Intent nesnesi oluşturuyoruz.

Daha sonra 41 ve 42. satırlarda bu Intent nesnesi içine ek bilgiler ekliyoruz. Uygulamamızdaki EditText nesnelerinin içindeki yazıları okuyup, bunları daha önceden oluşturduğumuz anahtar kelimelerle birlikte Intent nesnesine ekliyoruz.

Peki neden bir anahtar kelimeye ihtiyaç duyuyoruz? Cevap aslında basit. Daha sonra bu eklediğimiz bilgilere bu kelimeler yardımıyla erişeceğiz.

EditText nesnesinden String döndüğü için 43. satırda okunan değeri int türüne dönüştürerek Intent nesnesine ekliyoruz.

Daha sonra cinsiyet kısmında hangi düğmenin seçili olduğunu kontrol edip, seçili olan cinsiyete göre Intent nesnesine String türünde veri ekliyoruz. Bir RadioButton nesnesinin seçili olup olmadığını isChecked metoduyla kolayca öğrenebiliriz. Burada getString metodu ile daha önce strings.xml dosyasında tanımladığımız bir metini çekiyoruz. Yani eğer erkek seçiliyse "Erkek" şeklinde bir String gönderilecek Intent nesnesi aracılığıyla.

Aynı şekilde yazılan ileti de eklendikten sonra startActivity metodu çağrılıyor. Parametre olarak EtkinlikIki isimli etkinliği çağırmak üzere oluşturduğumuz Intent nesnesini verdiğimiz için bu satır bize ikinci etkinliği çalıştıracak. Bu arada ilk etkinlik arka planda bekliyor olacak.

Tüm bu kodları try ve catch bloğu içine yazdık, böylece bir hata olduğunda uygulamamız sonlanmadan bize bilgi verecek. Bu bilgiyi de başta değindiğim gibi Toast nesnesi kullanarak verecek.

Toast nesnesi ile kullanıcıya ekran üzerine açılan küçük bir pencerede bilgiler verebilirsiniz.

Burada Toast sınıfına ait makeText statik metodu, bize içinde bizim strings.xml dosyasında belirlediğimiz hata iletisi yazan bir Toast nesnesi oluşturuyor. Biz de direk bu nesnenin üzerinden show metodunu çağırarak bu bilgiyi gösteriyoruz.

Şimdi EtkinlikIki.java dosyasını açıp gerekli kodları yazalım.
Burada da gerekli nesneleri oluşturup değerlerini belirliyoruz. Değerleri belirledikten sonra yapılacak iş, bu etkinlik çalıştırılırken kullanılan Intent nesnesiyle beraber gönderilmiş bilgileri çekmek.
Intent nesnesine eklenen veriler bir paket halinde geldiği için önce getIntent metodu ile bu etkinlik açılırken kullanılan Intent nesnesini, daha sonra getExtras metodu ile bütün ek verileri, daha sonra da getString metodu ile String türündeki istediğimiz veriyi elde ediyoruz.

Bu etkinlikte bize verilecek bilgi cinsiyete göre değişeceğinden ilk önce cinsiyet kontrolü yaptık. Dikkat ederseniz ilk etkinlikteki cinsiyet bilgisini Sabitler.CINSIYET etiketiyle gönderdik, burada da aynı etiketle alıyoruz.

Diğer bilgiler de çok benzer şekilde alınabiliyor. Yaş bilgisine dikkatinizi çekmek isterim. String değil de int türünde gönderdiğimiz için getString yerine getInt metodu ile bilgiye erişiyoruz.

Tüm bilgileri alıp istediğimiz bilgi metnini oluşturduktan sonra bu etkinlikteki TextView nesnesine bu bilgiyi yazdırıyoruz.

Geri düğmesinin tıklama metodu içinde o anda açık olan etkinliği bitiren finish(); ifadesi yer almakta. Bu şekilde geri düğmesine tıklanıldığında açık olan EtkinlikIki sonlanacak ve arka planda bekleyen EtkinlikBir'e geri dönülecektir.
Yukarıda strings.xml dosyasının son halini görüyorsunuz.

Haydi artık uygulamamızı çalıştıralım. :)

Uygulamamız ilk çalıştığında böyle görünüyor.
Gördüğünüz gibi, boş ya da hatalı giriş yapıldığında bize Toast ile bilgi veriliyor ve uygulamamız hata verip sonlanmıyor.
Tasarım kısmını adım adım anlatamadığım için değinemediğim bir nokta oldu. Bu formu ekrana sığmadığı zaman kaydırabilmemiz için bir ScrollView nesnesi içine yerleştirmiştim. Bunu gösterebilmek için emulatördeki cihazı yan çevirdim. Bunu yapmak için Ctrl + F12 tuşlarını kullanabilirsiniz. Gördüğünüz gibi formu kaydırabiliyorsunuz.
Şimdi ekranı eski haline getirip bilgilerimizi girelim.
Gördüğünüz gibi bilgilerimiz girdikten sonra Gönder düğmesine tıklayınca ikinci etkinliğimiz açıldı ve girdiğimiz veriler bu etkinliğe gönderilip buradaki alana yazıldı.
Burada Geri düğmesine tıkladığımızda uygulamamız bir önceki ekrana geri dönecektir.

Evet arkadaşlar, bu yazımızdaki uygulamamız bu kadar. Bu yazıda uygulamamıza nasıl yeni bir etkinlik ekleyeceğimiz, bu etkinlikler arasında nasıl geçiş yapabileceğimizi, nasıl veri aktarabileceğimiz ve Toast aracı ile kullanıcıya nasıl bilgi verebileceğimiz öğrendik. En azından öyle umuyorum. :)

Bu yazıda yaptığımız uygulamanın projesini buradan indirebilirsiniz.

İnşallah faydalı olmuştur.

Kolay gelsin, iyi çalışmalar. :)