İlk Android Uygulaması (Kaynak Kod İnceleme)

İlk Android Uygulaması başlıklı  yazımızda yeni bir Android projesi yaratarak, uygulama için konfigürasyon oluşturmuş ve nasıl çalıştırılıp/debug edileceğini incelemiştik. Bu yazımızda ise kaynak kodu ve bileşenleri incelemeye çalışacağız. İlk olarak Aktivite sınıfını anlamaya çalışarak başlayalım. Aktiviteler aracılığı ile kullanıcılara bilgiler/ekranlar gösterilir ve kullanıcı tepkilerine cevap üretilir. Aktivite temel olarak kaynak kodundan (.java dosyası) ve ara yüz tasarımından (.xml dosyası) oluşur. İlk olarak Tablo 1’deki kaynak kodunu inceleyelim. Oluşturduğumuz MainActivity sınıfı, temel Activity sınıfını extend etmiş ve OnCreate metodunu ezmiştir. Aktivite yaratılması esnasında aynı zamanda çağrılmaktadır.

on_create

Tablo 1.MainActivity.java kaynak kodu

Android uygulamalarında ara yüz tasarımları View ve ViewGroup kontrolleri ile oluşturulurlar. View’lar button, text field, checkbox gibi kontrolleri ifade ederken, ViewGroup’lar ise bu kontrolleri taşıyan görünmez kontrollerdir (inivisible containers). Bir ViewGroup başka bir ViewGroup’u hiyerarşik olarak barındırabilir (Resim 1).

viewgroup

Resim 1. ViewGroup kontrollerinin hiyerarşik gösterimi

 Eclipse ortamında proje kaynakları hiyerarşik olarak drawable, layout ve values klasörlerini içeren res klasöründe yer almaktadırlar. View ve ViewGroup’larını barındıran ara yüz tasarımları da res/layout dizini altında XML dosya formatında bulunmaktadır. Tablo 2’de oluşturduğumuz varsayılan ara yüzün XML kaynak kodu yer almaktadır. Kullanıcı ara yüzünü XML olarak tanımlamak uygulama katmanı ile kullanıcı ara birimi katmanını birbirinden ayırmanıza yardımcı olur.

layout

Tablo 2.activity_main.xml kaynak kodu

Tablo 1’de görüleceği üzere uygulamamız bir tane ViewGroup ve onun içerisinde bir tane View kontrolünden oluşmaktadır. Tüm kontrollerin XML dosyasında yer alan çeşitli özellikleri (attributes) bulunmaktadır.  TextView kontrolümüzün özellikleri aşağıdaki gibidir;

android:idKod içerisinden kontrollere ulaşmak ve onlar işlem yapmak için kullanılan özelliktir. @ işareti XML içerisindeki herhangi bir kaynağa ulaşmak için kullanılır. Sonrasında kaynak türünün adı olan id gelir. Son olarak da kontrolün benzeşiz ismi textView1 gelmektedir. Uygulama ilk defa derlendiğinde projenin gen klasörü altındaki R.java dosyasındaki R sınıfının id alt sınıfında textView1 isimli değişken yaratılmış olur.
android:layout_widthandroid:layout_heightKontrolün genişlik ve yükseklik değerini barındıran özelliktir. wrap_content değeri kontrolün ara yüz içeriğinin gerektirdiği kadar yer kaplayacağını belirtmektedir.
android:textKontrolün içeriğine yazılarak kullanıcıya gösterilecek yazıdır. string/hello_world değeri res/values klasörü altındaki strings.xml dosyasındaki hello_world değişkenin değerinin alınacağı anlamına gelmektedir. Tablo 3’de strings.xml dosyasının kaynak kodu görülmektedir.
strings

Tablo 3.strings.xml kaynak kodu

Uygulamayı biraz daha geliştirerek kod içerisinden textView1 kontrolüne erişip mevcut metin değeri olan yani üzerinde yazan “Hello World!” değerini “Metin değişti!” olarak nasıl değiştireceğimize bakalım.  Öncelikle Tablo 4’de de görülen overrideTextAttribute isimli bir metot yazalım. Metot içerisinde findViewById fonksiyonu kullanılarak textView1 kontrolüne erişilmiş ve kontrolün referansı objMyView nesnesine atanmıştır. Kontrolün setText fonksiyonu kullanılarak metin değeri değiştirilmiştir. Son olarak yazdığımız overrideTextAttribute metodu Aktivitenin onCreate metodundan çağrılarak kodlamamız tamamlanmış olur.

main_degisti

Tablo 4.Değiştirilmiş MainActivity.java kaynak kodu

Hello World uygulaması tekrar çalıştırıldığında emülatörde ana aktivite artık Resim 2’deki gibi görülecektir.

degistirilmis_kod

Resim 2. ViewGroup kontrollerinin hiyerarşik gösterimi

Deniz KILINÇ

(Visited 192 times, 1 visits today)

Yorum Bırak

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