Android ile Hesap Makinesi

Kasım 28, 2011

Arkadaşlar bugün  Android ile uygulama geliştirmeye en  basit’inden  giriş yapacağız temel kavramları tanıyacağız , kullanıcı arayüzü oluşturmayı göreceğiz ve küçük bir temel işlevselli hesap makinesi yapıp Android işletim sistemli telefonumuza nasıl yüklenip çalıştırılacağına bakıyor olacağız.

Uygulamamızı Eclipse üzerinde geliştireceğiz ilk olarak File > New > Android Project diyerek yeni bir tane Android uygulaması oluşturuyoruz New sekmesinin altıında Android Project seçeneği sizde çıkmıyor ise yine New sekmesi altındaki Other seçeneğinden Android Project seçeneğine ulaşabilirsiniz.Android projenizi oluşturduğunuz zaman Eclipse uygulamanızla ilgili sizden bazı bilgileri istiyecektir hangi özelliklerde olacağı veya uygulama adı gibi bu aşamada karşınıza çıkan penceredeki Project name kısmı uygulamamızın Eclipse içindeki adı Application name ise uygulamamızın adıdır yeni bir uygulama oluşturduğumuz için Create new project in workspace seçeneğini seçiyoruz.Uygulamamızın default olarak belirlenmiş alanda oluşturulmasını istemiyorsak Browser seçeneğinden istediğimiz bir yeri gösterip uygulamamızın kaynak dosyalarının orada bulunmasını sağlayabiliriz.Build Target kısmından uygulamamızın versiyon’unu seçiyoruz ben örnek uygulamamızda Android 2.2 seçenegini seçtim.Package name kısmına com.Hesap yazıyoruz.

 

 

Uygulamamızı bu şekilde oluşturduktan sonra şu şekilde bir yapı ile karşılaşırız

 

 

 

 

Giriş seviyesinde bir uygulama olduğu için şimdilik sadece işinize yarayacak kısımlardan bahsedeceğim. src > com.Hesap > HesapMakActivity.java dosyamız bizim kodlarımızı yazacağımız ana dosyamızdır kullanıcı arayüzündeki kontrollere bu kısımdan kod yardımı ile ulaşır ve işlemleri bu kısımda yaparız. gen > com.Hesap > R.java dosyası uygulamamızda bulunan tüm kontrollerin bilgilerinin bulunduğu dosyadır ve kesinlikle kurcalamamamız gerekir silinmesi geri dönülemez hatalara sebep verebilir. Android 2.2 > android.jar dosyası uygulamamıza ekleyebileceğimiz java ve android sınıflarını içerir. res > drawable-hdpi dosyasında resimlerimiz bulunur uygulamamızın logo sunu veya icon dosyasınıda burada barındırabiliriz. layout > main.xml dosyasında kullanıcı arayüzünde tanımladığımız kontrollerin özellikleri’nin bilgileri tutulur. Örneğin Kullanıcı arayüzündeki bir buton ‘un Text özelliğini değiştirdiğiniz zaman bu bilgi main.xml dosyası içerisinde tutulur. AndroidManifest.xml dosyasında uygulamamızla ilgili bilgilere ulaşabiliriz.Uygulama yapısını inceledikten sonra kullanıcı arayüzü tasarımına geçebiliriz.Main.xml dosyasına çift tıkladığınız zaman karşımıza kullanıcı arayüz tasarımı yapacağımız bölüm açılır.Arayüz tasarımı yapabilmek için gerekli kontrolleri Palette kısmında bulabilirsiniz.Palette kısmı bazı alt başlıklara ayrılmıştır.Bu başlıklarda kendileri ile ilgili kontrolleri bulabiliriz.Uygulamamıza buton eklemek için Form Widgets sekmesinin altındaki Button’u kullanırız veya text eklemek için Text Fields sekmesinin altındaki Plain Text kontrolünü kullanırız.Tüm sekmeleri inceleyerek ögrenebilirsiniz.Kullanıcı arayüz’ünü tanıyalım.

 

 

 

 

Kullanıcı arayüz tasarımı yaparken ilk öğrenmemiz gereken kısım Palette kısmı olacaktır bu kısımda arayüz kontrollerimiz bulunur.Bu kısımda çok fazla kontrol olduğu için hepsine değinmeyeceğim bu kontrolleri form üzerine sürükle bırak yöntemi ile kullanabilirsiniz.Şu anda biz hesap makinesi yapabilmek için gerekli kontrollerimizi formumuza sürükleyip bırakalım.Form tasarımımız şu şekilde olacaktır.

 

 

 

 

Bu tasarımı şu şekilde yapıyoruz ilk olarak Layouts tab’ından bir tane LinearLayout kontrol’ünü formumuza sürükleyip bırakıyoruz daha sonra Hesap Makinesi başlığını yazabilmek için Form Widgets tab’ından Large Text kontrolünü LinearLayout nesnemizin içerisine sürükleyip bırakıyoruz.

 

 

NOT : Form’unuza LinearLayout kontrolünü sürükleyip bıraktığınız zaman eğer ekranda gözükmüyor ise şu adımları izlemelisiniz.İlk olarak form üzerindeki tüm kontrollerin gözüktüğü OutLine kısmını aktif hale getirmelisiniz bunuda Window > Show View > OutLine şeklinde yapabilirsiniz.OutLine kısmını açtıktan sonra burada sürükleyip bıraktığınız LinearLayout gözükecektir buradan üzerine tıkladığınız zaman ekrandada etkin olduğunu göreceksiniz. Daha sonra kontrollerin özelliklerine ulaşacagımız için properties kısmında sizde aktif olması lazım eğer aktif değilse şu adımlar izlenmesi lazım Window > Show View > Other > properties.

 

 

Linear Layout nesnemiz içerisine Large Text ‘imizide atıktan sonra bu kontrolün properties kısmından Text özelliğini Hesap Makinesi olarak değiştiriyoruz.Form üzerindeki tüm kontrollerin özelliklerine properties kısmından ulaşabilirsiniz.Ayrıca herhangi bir kontrole çift tıklarsanız sizi main.xml dosyasının kod kısmına götürecektir bu kısımdanda o kontrolün tüm özelliklerini kısa yoldan görebilirsiniz

 

 

LinearLayout nesnemizin properties kısmındaki ayarlamaları şu şekildedir.

 

 

 

 

Burada en önemli kısım kontrollere verdiğimiz Id ‘lerdir çünkü bu kontrollere kod kısmından kontrol Id ‘leri yardımı ile ulaşacagız.Orientation özelliği ile kontrolün yataymı dikeyni olacağını belirliyoruz.Daha sonra width ve height özelliklerini atıyoruz. 2. LinearLayout kontrolümüzüde sürükleyip bırakalım ve içerisine bir tanede Text Fields tab’ından Plain Text bırakalım ve bu Plain Text ‘ in properties kısmındaki ayarları şu şekilde

 

 

 

 

Plain Text ‘ in Id ‘sini txtHesap olarak atıyoruz.Ekrandaki form tasarımını yapabilmek için alt alta 7 tane LinearLayout kontrolü ve bu kontrolerin içinede gerekli buton’larımızı atıyoruz her buton’umuza kendisi ile ilgili Id atıyoruz bu konu çok dikkat edilmesi gereken bir konudur çünkü kod yazarken bu kontrolleri anlam karmaşasından karıştırabiliriz ve buda yanlış sonuç doğuracaktır. Tüm gerekli kontrollerimizi form’umuza sürükleyip bıraktıktan sonra şu şekilde bir yapı olması lazım.OutLine ekranı

 

 

 

 

Her bir LinearLayout içerisinde kendi bünyesindeki butonları görüyoruz.Buton resimlerinin heman yanında bulunan yazılar kontrollerin Id ‘ leridir.Onunda yanında bulunan yazılar ise kontrolün text olarak içeriğidir.Bu kadar form kısmını inceledikten sonra birazda kod yazalım.Şimdi uygulamamızın kodlarını yazacağımız src > com.Hesap > HesapMakActivity.java dosyamıza gidelim ve uygulamamız için gerekli import’ları yazalım

 

 

 

 

Buton’larımızın click’eventlerini yakalabilmek için class ‘ımızı şu şekilde genişletelim

 

 

 

 

Form üzerindeki Buton’ lara ulaşacağımız değişkenlerimizi tanımlayalım

 

 

 

 

Burada hem buton’larımızı hemde gerekli diğer değişkenlerimizi tanımladık. txtHesap değişkenimizde kullanıcının girdiği değeri saklayacağız.Şimdi form üzerindeki kontrollerin Id ‘lerinden bu kontrollere ulaşalım

 

 

 

 

Form üzerindeki bir değişkene ulaşmak için (Button)findViewById(R.id.KontrolId); gibi bir yol izlemeliyiz buradaki R bizim gen > com.Hesap > R.java dosyamızdır R. değimiz zaman bu dosyanın içindeki Id ‘lere ulaşacağımız için R.Id diyoruz zaten R.Id dedikten sonra bizim form üzerine sürükleyip bıraktığımız tüm kontrollerin Id ‘leri çıkmaktadır buradan doğru Id ‘yi doğru değişkene atamamız gerekir.Kontrollere bu şekilde ulaştıktan sonra değişken adı nokta setOnClickListener(this); ile bu eventini yakalayabiliriz.Daha sonra onClick method unu yazıyoruz.

 

 

 

 

onClick method’unda buton’larımızın click event’lerini yakalıyoruz  src değişkenimizin .getId() method’u yardımı ile şu an tetiklenen buton’un Id sini alıyoruz tabiki bundan önce Plain Text ‘imizdeki yazılı hane sayısının 9 dan küçük olmasını kontrol ediyoruz PlainText kontrolümüzü txtHesap değişkenimize atadığımız  için txtHesap.getText().length() şeklinde kullanıcının yazdığı değerin karakter uzunluğuna ulaşıyoruz ve if kontrolü ile kontrol ediyoruz eğer 9 hane’den büyükse Toast yardımı ile kullanıcıya bunu belirtip 9 haneden daha küçük bir rakam girmesini sağlıyoruz.Kullanıcı 9 haneden küçük bir değer girdi ise if kontrolümzden geçtikten sonra switch çalışır ve kullanıcının bastığı butonun Id ‘sine göre çalışacak kodu belirler. case kısımlarında basılan buton’un işlevine göre ayrı ayrı kodlar çalışmakta örneğin kullanıcı 4 buton’una bastı ise ekrandaki Plain Text ‘de 4 sayısı yazar kullanıcı bundan sonra birde 8 buton’una basarsa bu sefer Plain Text ‘ te 48 rakamı yazar her basılan tuşun hanesini bir öncekinin sağ’ına  ekler  tabi burada kullanıcı sürekli rakamlara basmıyacaktır eğer kullanıcı işlem butonlarında birine basarsa bu sefer o case çalışacaktır ve işlemini yapacaktır.Örneğin kullanıcı Toplama için buton’a basarsa case R.id.btnToplama: kısmı çalışacaktır burada ilk olarak kontrol ettiğimiz şey ise kullanıcının Plain Text ‘ e değer girip girmediğidir eğer kullanıcı bir değer girmedi ise Toast yardımı ile kullanıcıdan bir değer giresini istiyoruz.Kullanıcı değer girip Toplama işlemi buton’una basarsa ilk olarak bu değer ilkDeger değişkenine aktarılıyor.String bir ifadeyi integer’a Integer.parseInt(string) ile convert edebiliriz.Bu değişken hafızada kalırken kullanıcının yeni bir değer girmesi için txtHesap yani Plain Text kontrolü setText(” “); ile temizleniyor ve islem değişkenine işlemin tipi aktarılıyor.Bu işlemlerden sonra eğer kullanıcı Hesapla buton’una basarsa case R.id.btnHesapla: kısmı çalışıyor ve ilk olarak txtHesap değişkeni daha sonrada ilkDeger değişkeni boşmu diye kontrol ediliyor iki değerde boş değilse işleme devam ediliyor.Hemen altta if kontrolü ile işlemin tipine karar veriliyor bu karara göre oluşan kodlar çalışıyor en son kısımdada bulunan sonuc Plain Text kontrolüne atanarak kullanıcının bu sonucu görmesi sağlanıyor.Sonuc ekranda kullanıcıya gösterildikten sonra hafızadan değişkenler temizleniyor.Eğer kullanıcı tüm hafızayı ve ekranı temizlemek isterse C buton’una basıyor.Bu aşamada uygulamamızı çalıştırırsak hiç sorunsuz çalışacaktır.Uygulamamızı bilgisayardaki emulatör ‘de çalıştırdıktan sonra kendi android işletim sistemli telefon’umuzdada çalıştırmak istersek şu şekilde bir yol izlemeliyiz.Uygulamamıza son halini verdikten sonra projeyi bilgisayarımızda kaydettiğimiz kök klasör’e gisersek bin dosyası içerisinde HesapMak.apk dosyasının oduğunu görürüz bu dosya yaptığımız uygulamanın telefonlar için çalıştırabilir halidir.Android telefonumuzu bilgisayarımıza bağladıktan sonra telefonumuzun içerisinde Uygulamalar adında bir dosya açalım ve HesapMak.apk dosyamızı buraya kopyalayalım daha sonra telefonumuzun bilgisayar bağlantısını keselim ve telefonumuzun Dosya Yöneticisi kısmındaki bizim oluşturduğumuz uygulamalar klasör’ünü açalım ve bizim hesap makinesi ugulamamız orada olması lazım bu dosyayı seçince zaten telefon hemen size soracaktır uygulamayı kurmak istiyormusun diye evet dediğiniz zaman uygulamamız telefonunuza kurulacaktır.İyi çalışmalar.

 

 

 

HesapMak.apk Dosyasını Buradan İndirebilirsiniz

 

 

 

 

posted in Android by gokhan

Follow comments via the RSS Feed | Yorum yapın | Trackback URL

8 Comments to "Android ile Hesap Makinesi"

  1. a.celil wrote:

    bu hesap makinesi çarpma yerine çıkarma yapıyor ve 8 tuşu çalışmıyor bir baksanız ii olur :D

  2. winkan wrote:

    Java dosyasında hangi kodu nereye yazacağımız belli değil bir acemi için. Teşekkürler.

  3. gokhan wrote:

    Anladım uyarınız için teşekkürler bundan sonra daha dikkatli olurum paylaşım yaparken.

    İyi çalışmalar

  4. Berkan Bilgin wrote:

    Ne adamlar var, carpma yerine cikarma yapiyor demis. Onuda sen degistirseydin bi zahmet. Millet oturup emek veriyor, sende ancak eksikligi gor.

    Eline saglik birader cok isime yaradi. Allah razi olsun.

  5. abbas wrote:

    öncelikle eline sağlık diyorum yanlız benim bir sorum olacak sizlere;
    burada bi tuşa tıkladıgım zaman örneğin 4 sonra mesela *(çarpı) dediğim zaman 4 gidiyor ben gitmemesini istiyorum yani
    yaptığım işlemlerin tamamının ekranda gözükmesini istiyorum mesela 4*9=36 gibi yardımcı olursanız çok sevinirim..

  6. gokhan wrote:

    Merhaba

    İstediğinizi yapabilmek için : 4 ‘e tıkladığınızda şu an o değişkene alınarak hafızada tutuluyor ve ekrandan temizleniyor ama siz ekrandan temizlenmesini istemiyorsanız temizleme işlemi yaptırmadan uygulamayı kullanabilirsiniz tabiki bazı eklemeler yapmanız lazım mesela kullanıcı 4 ‘e bastıktan sonra o değer ekranda kalırken birde + işaretine basarsa siz bu değeride alın ve ekrana 4 + olarak tekrar yazdırın daha sonra kullanıcı 2. değerini yazdığı zaman 4 + 6 gibi bu değeride hem değişkende tutun hemde verileri ekrandan temizlemeyerek kullancının görmesini sağlayın daha sonra kullanıcı eşittir’e basında yapmanız gereken sadece ekranda şunu yazdırmak 4 + 6 = 10 ve değişkenlerdeki değerleri toplayarak eşitliğin karşısına yazdırmak.

    Kolay gelsin

  7. Ahmed wrote:

    Kodları yazacağımız yerleri belirterek tekrar düzenleyebilirseniz memnun olurum.

  8. gokhan wrote:

    Merhaba,

    Bu hesap makinesi uygulaması benim acemilik zamanına denk geldiği için çok basit oldu, uygulamayı yeniden düzenlemektense çok daha iyisini yakın bir zamanda yapıp yayınlayacağım.Blog’dan ve asıl Android paylaşımlarının yapıldığı sitem olan androiddunyasi.net sitesindende takip edebilirsin.

    İyi çalışmalar

Leave Your Comment

*

 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org