Android Zar Atma Uygulaması — Kotlin (Part 2)

Ahmet Giray Uçar
Google Developer Student Clubs
3 min readJan 19, 2021

Herkese selamlar, bir önceki yazımda, resimli zar atma uygulamasının, resim ekleme kısmına kadar kodlamıştım. Kalan kısmını ise ikinci yazımda kodlayacağımı belirtmiştim ve 2. yazımla karşınızdayım. Umarım eğlenceli ve anlaşılır bir yazı olur.

Burada yazacağım uygulama, Android’in kendi sitesinde bulunmaktadır. Yazının en altına inerek bu siteye bakabilirsiniz. Fakat ben bu sitede yazan uygulamayı birazcık daha geliştirip, resimli bir uygulama haline getirdim. ”Dışarıdan projeye görsel ekleme” konusunu da anlatıyor olacağım.

Daha kolay anlaşılması için ikinci yazımı kendi içinde bölümlere ayırdım.

1. Android Studio’ ya Resim Eklemek

2. ImageView ve Ayarlamaları

3. Dışarıdan Eklenen Resmi Göstermek

4. SON

1. Android Studio’ ya Resim Eklemek

Uygulama için kullanacağım zar resimlerini ben sizin için ayarladım. Sağ tarafta gördüğünüz zar resimlerini ve projenin tamamını, yazımın en altında bulunan Github linkinden bulabilirsiniz.

Android Studio’ ya resim eklemek aslında çok kolay. Tek yapmam gereken resimlerimi seçtikten sonra, sürükleyerek app/res/drawable klasörünün içine bırakmam olacak. Halihazırda drawable klasörünün içinde 2 tane xml dosyası bulunuyor. ic_launcher_background.xml ve ic_launcher_foreground.xml dosyaları. Bunlarla işim olmayacağı için ilgilenmiyorum.

2.ImageView ve Ayarlamaları

Artık kendi resimlerimi, projeme aktardığıma göre bunları nasıl kullanacağımı keşfetmeliyim. ImageView ise tam bu işime yarayacak. Bir önceki yazımda bahsettiğim Ekrana View Ekleme konusu burada işime yarayacak (Önceki yazımda 2. konu). activity_main.xml dosyasını açtıktan sonra paletten, ImageView adlı View’ ı buluyorum ve sürükleyip ekranın ortasına bırakıyorum.

Bu işlemi yapınca direkt olarak bu ekran karşıma geliyor. Burada avatars’ ı seçip OK diyorum.

Önemli bir konudan bahsetmek istiyorum. Eğer A bölümünde bulunan layout_height ve layout_width değerlerini resimdeki gibi wrap_content olarak bırakırsam, resimlerin kayma olasılığı çok yüksek olacaktır.

Bu işlemi ve ImageView’ e Constraint verme işlemini tamamladıktan sonra, buna benzer bir ImageView’ a sahip oluyorum ve herhangi bir hata almıyorum. Tam da istediğim gibi.

3. Dışarıdan Eklenen Resmi Göstermek

İlk yazımda anlattığım konu olan View ve Kod Arasındaki Bağlantıyı Kurma konusunu burada tekrarlayacağım (Önceki yazımda 3. konu). ImageView’ a diceImageView adında bir ID veriyorum.

val photo : ImageView = findViewById(R.id.diceImageView)
dice.jpg

Uygulama ilk açıldığında, ImageView’ ımda “dice” isimli resmin gözükmesini ve her zar atıldığında bu resmin, gelen sayıya göre değişmesini istiyorum. Uygulama ilk açıldığında gözükecek ve “Zarı At” butonuna tıklanıldıktan sonra değişeceği için bu kod satırını onCreate metodunun altında yazmak zorundayım.

override fun onCreate(savedInstanceState:Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val photo : ImageView = findViewById(R.id.diceImageView)
photo.setImageResource(R.drawable.dice)
}

ID’ lere erişmek için “R.id.[id_name]” şeklinde bir kullanım yapıyordum. Aynı kullanımı şimdi de resimlerim için yapıyorum. Fakat burada küçük ama önemli bir fark var. “R.id” yerine “R.drawable” kullanıyorum. Hatırlarsanız dışarıdan eklediğim resimleri, bu klasörün altına atmıştım ve şimdi bu kod satırı ile bunları kullanabiliyorum.

4.SON

Şu ana kadar yazdığım kodlar ile elimde oluşan uygulama, ilk açıldığında ve “Zarı At” butonuna tıkladığında “dice” resmini gösteriyor. Fakat ben, gelen sayıya göre bunun değişmesini istiyorum. Bu yüzden bunu kendi yazdığım metodun içinde belirtmem gerekiyor. Bu işlemi ister IF ile ister SWITCH koşulları ile yapabilirim. Hangisini kullanacağım bana kalmış.

Şimdiki kodları ise ilk yazımda kendi oluşturduğum, 0 ile 7 arasında sayı oluşturan metodumun içine yazıyorum.

Yada bu işlemi SWITCH ile yapabilirim.

Çalışmanın son halini görmek için buraya tıklayınız.

--

--