Android Studio ile Hesap Makinesi Örneği

Android Studio veya herhangi bir editör ile Android ortamında çalışacak bir hesap makinesi yapabilmek için öncelikle tasarımı ortaya çıkarıyoruz. Bu örnekte her bir sayı için bir buton oluşturmak yerine sayıların girilebileceği Number tipinde bir EditText nesnesi oluşturularak seçilen işleme göre sonuçların kaydedildiği bir hesap makinesinin nasıl gerçekleştirildiği gösterilecektir.

Hesap makinemizin activity_main.xml dosyasına bakıldığında görüntüsü aşağıdaki şekilde olmaktadır. Bu görüntüyü oluşturabilmek için yatay ve dikey konumlu LinearLayout düzeni seçilmiştir. İlk sayı girildikten sonra işlem seçilecek, ardından ikinci sayı girilecek ve eşittir butonuna basıldığında işlem geçmişe eklenerek gösterilecektir. Ardından oluşturulan bu sonuç, istenirse yeni bir sayı girilmeden bir sonraki işlemin ilk sayısı olarak kabul edilecektir.

Uygulama üzerinde işlemler gerçekleştirildiğinde Android hesap makinesinin ekran görüntüsü aşağıdaki şekilde görülecektir:

Bu hesap makinesi görünümünü oluşturmak için android_main.xml dosyası kodları şu şekilde olmalıdır:

Öncelikle Java kodları ile aktivite üzerinde oluşturulan nesnelere erişebilmek için bu nesnelerin kod yardımıyla tespit edilip Java’da kendi oluşturduğumuz bir nesneye aktarımlarının yapılması gerekmektedir. findViewById metodu yardımıyla, aktivite üzerindeki nesneler bulunarak uygun tipte değişkenlere aktarılır. Varsayılan değerlerin kullanılmasıyla oluşturulan projede MainActivity.java dosyasına aşağıdaki kodlar yazılır:

Böylece oluşturulan her bir nesneye esit, topla, cikar gibi değişkenler yardımıyla erişim mümkün olacaktır. final ifadesi, oluşturulan nesnelerin nihai halde olduklarının derleyeciye bildirilmesi gibi bir görevi vardır. Burada kullanılan bazı anonim metodlar ile ileride oluşturulabilecek kendi metodlarımızın bu nesnelere erişimde sorun oluşturmasını engellemek için bu ifade kullanılmaktadır.

Nesneleri elde ettikten sonra toplama, çarpma, çıkarma ve bölme işlemleri için gerçekleştirilmesi gereken komutları yazmalıyız. Bir botuna basılıp basılmadığını anlamak amacıyla ilgili buton için “Listener” tanımlanması gerekmektedir. Oluşturulan her bir Listener, program açık olduğu sürece kullanıcı tarafından belirtilen tipte bir hareketin (butona basma, uzun basma, sağa kaydırma vb.) kullanıcı tarafından yapılıp yapılmadığını sürekli kontrol eder. Toplama işlemi için oluşturulması gereken onClickListener şu şekildedir:

Girilen metnin Double tipte bir değişkenin işleyebileceği türe dönüştürmek için Double.parseDouble() metodu kullanılır. Ayrıca seçilen işlemin ne olduğunun, sonuç butonuna basıldığında anlaşılabilmesi için islem adındaki bir değişkende gerçekleştirilmesi gereken işlem de “+”, “-“, “*” veya “/” şeklinde tutulacaktır.

Çıkarma, çarpme ve bölme butonları için yazılması gereken kodlar da toplama butonuna benzer şekildedir:

İlk sayı girilip işlemin seçilmesiyle ikinci sayı girişi yapılacaktır. Eşittir butonuna basıldığında, seçilen işleme göre işlem gerçekleştirilip geçmiş bölmesinde bu işlemler listelenecektir.

Geçmiş panelinin temizlenmesi gerektiğinde TEMİZLE butonu kullanılacaktır. Butona basıldığında aşağıdaki kodlar çalışır:

MainActivity.java dosyasının tamamlanmış hali aşağıdaki şekilde olacaktır:

 

About Hürkal HÜSEM

2010 yılından bu yana Bilişim Teknolojileri Öğretmeni olarak meslek liselerinde görev yapmaktayım.

View all posts by Hürkal HÜSEM →

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.