Kotlin’e Giriş — Hesap Makinesi Örneği

Fatih Can
HardwareAndro
4 min readJul 15, 2020

--

Selam,🖐 bugün Kotlin ile native platforma giriş yapıyoruz. Native platform için Kotlin programlama dilini öğrenmek iyi bir seçim olacağını düşünüyorum. Ve bu yazımda Kotlin programlama dilinden bahsetmek istiyorum.

Kotlin Google’ın Android uygulama geliştirmek için kullandığı Java sanal makinesi üzerinde çalışan bir programlama dilidir. Bildiğiniz üzere daha önce Google Java programlama dili kullanıyordu, 2017 tarihinde Google’ın gerçekleştirdiği bir konferansta Kotlin’i duyurarak, Kotlin’e geçiş sinyallerini vermişti. Ve şuanda aktif olarak kullanılan ve aynı zamanda popülerliğini yaptığı güncellemeler ile gün geçtikçe arttıran, programla dilleri arasında yer almakta. Bu durum Google için oldukça önemli gelişmelerinden biri olduğu açık bir şekilde anlaşılıyor. Şimdi gelelim bir uygulama örneği üzerinden Kotlin’e girişimizi yapalım. Bu örneğimiz neredeyse yeni öğrenilen bütün programlama dillerinde yapılan temel bir örnek, örneğimiz hesap makinesi örneği, başlangıç için iyi bir örnek olduğunu düşünüyorum.

Kotlin projemizi başlatmak için Android Studio üzerinden Kotlin projemizi oluşturuyoruz. Klasör yapımızda “res” klasörünü açıyoruz ve bu klasörümüzün içerisinde bulunan “layout” klasörümüzünden “activity_main.xml” dosyamızı açıyoruz ve karşımıza “Hello World” texti yerleştirilmiş boş bir alan geliyor. Burada design alanında, daha önce eğer C#’ta form application örneği yaptıysanız, form design alanı ile Kotlin’deki desgin alanı mantığı yine aynı, nesnelerimizi sürükle bırak yapıyoruz. C#’ta ilk önce tasarımı oluşturuyoruz, nesneleri sürükle-bırak mantığı ile yaptığımız gibi Kotlin’de de aynı işlemi yapıyoruz. İki bölümden oluşuyor ve ilk önce tasarımımızı oluşturuyoruz sonrasında kod kısmına geçiyoruz.

1.Bölüm: Tasarım

İlk işlemimiz “Hello World” textini siliyoruz ve ConstraintLayout’u LinerLayout olarak değiştiriyoruz. Çünkü hesap makinesi örneğimiz yukarıdan aşağıya doğru dikey(vertical) şeklinde nesnelerimizi yerleştiriyoruz. Bu değiştirme işlemimiz için code kısmından kodumuzu düzenliyoruz.(Vertical/Dikey işlemini, orientation özelliğinden vertical seçiyoruz.)

activity_main.xml / Code
activity_main.xml / code

Sonrasında tasarım alanımızda kullanacağımız nesneleri belirliyoruz, nesnelerimiz ise, işlemlerimizi göstermemiz için Plain Text (1), butonlarımızı hizalı şekilde sıralamamız için TableLayout(1), TableLayout’ta yer alan, yan yana sıralamamız için TableRow(5), TableRow’larımızın içinde yer alacak Button(20). Temel olarak dört nesneden oluşuyor.

Nesnelerimizi sürükle bırak yaptıktan sonra, nesnelerimizin boyutlarını ayarlıyoruz. İlk olarak PlainText’in paddingini ayarlıyoruz. Ve textimizin sağdan başlaması için gravity özelliğini right seçiyoruz.

Butonlarımızı Layout alanından, layout_width ve layout_height parametrelerine 100dp veriyoruz. Sağ ve sol boşlukları önlemek için layout_weight parametresine 1 veriyoruz. Butonlarımızın üzerindeki “Button” textlerini değiştirmemiz için tıkladığımız butonun text özelliğinden değerimizi giriyoruz. Ve nesnelerimizi text size ile textlerini boyutunu ayarlayabiliriz.

Butonlarımızı text özelliği ile değer veriyoruz.(Örnek:1,2,3,4,5,6,7,8,9,0,+,/,-,* vs.)

Nesnelerimizi ekledik ve boyutlarını belirledikten sonra tema renklerini belirleyelim.

Tasarımımızın tema renklerini belirleyebilmemiz için “res” klasöründen “values” klasörünün içerisinde “color.xml” dosyasını açıyoruz.

Dosyamızın içerisinde 3 satırdan oluşan default tema kodlarını, istediğimiz renk kodlarını belirleyip değiştirebiliyoruz veya yeni bir renk kodu ekleyebiliyoruz. Değiştirmek için color etiketlerinin arasında bulunan “#6200EE” renk kodunu, belirlediğimiz renk kodu ile değiştirmemiz gerekiyor. Renk kodlarını ise buradan ulaşabilirsiniz. Bir renk eklemek istiyorsak yine color etiketini kodlayıp, name parametresine isim verdikten sonra renk kodumuzu ekleyebiliriz.

Eklediğimiz renkleri kullanabilmemiz için tasarım alanından herhangi bir nesneyi(buton,plain text) seçtiğimizde background parametresine eklediğimiz renk kodunu seçiyoruz. Textlerimizin renklerini ise textColor parametresi ile belirliyoruz.

Ve tasarımımızı tamamlıyoruz, artık kodlama kısmına geçebiliriz. =)

2.Bölüm: Kod

Kodlamayı biraz daha hızlı hale getirebilmek adına eklediğimiz nesnelerin idlerini belirliyoruz. (btn_Zero,btn_Div vs.) Yine C#’ta form application da olduğu gibi yaptığımız id eklemeyi Kotlin’de yapıyoruz.

Butonların sayı alanlarına “btn_click” id veriyoruz. İşlem yapacağımız operatör butonlara ise “btn_Operator” veriyoruz. Çünkü butonların işlevleri birbirlerinden farklı olduğu için kodlamada herhangi bir karışıklık olmasını böylelikle önlemiş oluruz. Şimdi ise “java” klasörümüzden “MainActivity.kt” dosyamızı açıyoruz. Ve kodumuzu inceliyoruz.

Butonlarımızı tıkladığımızda ekranda gösterebilmemiz için, tanımladığımız “btn_select” değişkeni ile butonlarımızın idlerine click işlemini plain textin idsi olan “dataView” gösteriyoruz. Birden fazla koşullarımız yer aldığı için when yapısını kullanıyoruz. Plain texti alabilmemiz için ise stringe çeviriyoruz ve bir değişken tanımlayıp içine atıyoruz.

Burada yine aynı işlemlerimizi öncesinde farklı idleri tanımladığımız, operatör butonlarımız için yapıyoruz.

Eşittir butonumuzun işlevini sağlamamız için “Equals” isminde fonksiyonu tanımlıyoruz ve “AC” butonumuzun silme işlemi için “newOperator” değişkeni tanımlıyoruz ardından var tipinde “result” değişkenimizi tanımlıyoruz, sonrasında when yapısı ile operatör butonlarımızın işlevlerini sağlıyoruz. “AC” butonumuzun islme işlemi için “Ac” isminde fonksiyon tanımlıyoruz ve plain texte “0” set ediyoruz, eşittir butonuna tıkladığımızda sıfırlanması için “newOperator” değişkenine true veriyoruz. Ve örneğimizi tamamlıyoruz.

Bu yazımda temel hesap makinesi örneği ile Kotlin’e giriş yaptım, umarım yazım faydalı olmuştur, bir sonraki yazıda görüşmek dileğiyle. 😊

Kaynak Kodu:

LinkedIn

--

--