Bir Android Uygulamasının Anatomisi


Merhaba, bu yazımda bir android projesinin anatomisinden bahsedicez.

Bir android uygulamasının anatomisini yani proje klasörlerinden ve dosyalarından hangisinin ne için kullanıldığını hangisinin ne işe yaradığını bilmek çok önemlidir ve yararlıdır. Sırasıyla önem arzeden klasör ve dosyaları kısaca tanıyalım.

src klasörü: Bu klasör proje içindeki .java uzantılı kaynak dosyaları içerir. Default(ön tanımlı) olarak içerisinde bir MainActivity.java dosyası vardır ve projenizi çalıştırdığınızda bu activity başlatılır. 

gen klasörü: Bu klasör derleyici tarafında oluşturulan .R dosyasını içerir. Bu dosya projedeki bütün kaynakların referanslarını içerir. Bu dosyayı kesinlikle karışmamalısınız/içeriğini değiştirmemelisiniz.

bin klasörü: Bu klasör .apk uzantılı projenize ait bir nevi .exe dosyası olan dosyayı içerir. Bu dosya projeniz inşa edilirken ADT(Android Developer Tools) tarafından oluşturulur. Ayrıca bu klasörde projenizi çalıştırmak için gerekli olan diğer herşey bulunur.

res/drawable-hdpi: bu klasör drawable nesneleri için kullanılır. Bu klasöre high-density ekranlar için hazırlanmış tasarım için gerekli resim-grafik-ikon vb. herşey atılır.

res/layout: Bu klasörde uygulamanın arayüzünü oluşturucak dosyalar bulunur. 

res/values: Bu klasörde diğer çeşitli xml dosyaları bulunur. Bu xml dosyalarından bazıları şunlardır: strings.xml, colors.xml, dimens.xml. Bunlar çeşitli kaynaklar için oluşturulan bir nevi kimlikleri/özellikleri içeren dosyalardır. İlerledikçe daha iyi anlayacaksınız.

AndroidManifest.xml: Bu dosya uygulamanın temel karakteristiklerini ve her bir bileşenini tanımlar.     

Şimdi de kısaca herhangi bir android uygulaması için bazı önemli dosyalardan bahsederek içerikleri hakkında örnekler verelim.

Main Activity Dosyası

Main Activity kodları bir java dosyasıdır. Uygulamayı çalıştırdığınızda aslen bu dosya dalvik çalıştırılabilir dosyasına dönüştürülüp uygulamanız cihaz üstünde ya da emülatörde çalıştırılır. Örnek olarak yeni bir android uygulama projesi oluşturduğunuzda default olarak gelen MainActivity.java dosyasının içeriğini aşağıda görebilirsiniz.

Buradaki R.layout.activity_main kodu  /res/layout klasöründeki activity_main.xml dosyasını refer etmektedir. Üstte verilen kodlarda geçen onCreate() metodu uygulama başlatılırken çağrılan birçok metod tan biridir.

Manifest Dosyası

Hangi proje üstünde çalışıyor olursanız olun projenizle/uygulamanızla alakalı bütün bileşenlerini bu dosyada deklare etmelisiniz. Bu dosya uygulamanız ve Android İşletim sistemi arasında bir arayüz görevi görür. Yani bu dosyaya deklare etmediğiniz bir  uygulama bileşeni Android İşletim sistemi tarafından yok sayılacak – görülmeyecektir. Bir örnek manifest dosyasının içeriği aşağıda verilmiştir.

Burada şunları bilmek iyi olur:

– <application> …. </application> tagları arasında uygulama ile ilgili bileşenler yer alır.

– android:icon=”@drawable/ic_launcher –> android:icon niteliği uygulamanın ikonunu ya da simgesini belirtmek için kullanılır. Burada drawable klasörlerinde bulunan ic_launcher.png adlı resim/simge adres gösterilmiştir.

– <activity> …. </activity> tagları arasında bir activity i tanımlamak için gerekli bütün şeyler yazılır.

1. android:name niteliği ile activity nin tam sınıf adı verilir.

2. android:label niteliği ile activity için actionbar da kullanılacak isim/başlık tanımlanır.

3. <action android:name ….. /> tagı ile bu activity nin uygulama için giriş noktası olduğu belirtilmiştir. Sondaki MAIN kelimesi bunu sağlar. (MAIN –> ana demektir.)

4. <category android:name ……. /> tagı ile bu activity nin uygulamanın başlatılacağı activity olduğu belirtilmiştir. Burada sondaki LAUNCHER kelimesi bunu sağlar. (LAUNCHER –> başlatıcı demektir.)

Bir manifest dosyasında karşılaşabileceğiniz/kullanabileceğiniz bütün taglar aşağıda verilmiştir.

– <activity> elemanları, aktiviteler için

– <service> elemanları, servisler için

– <receiver> elemanları, yayın alıcılar için

– <provider> elemanları, içerik sağlayıcılar için

Strings Dosyası

strings.xml dosyası res/values klasöründe bulunur. Bu dosya proje ile alakalı bütün text-yazı bilgilerini içerir. Örneğin buton isimleri, etiketler, kategori isimleri vb. Örnek bir strings.xml dosyası aşağıda verilmiştir.

 R Dosyası

gen/com.example.ilkornek/R.java dosyası MainActivity.java dosyası ile kaynak dosyaları arasında bir yapışkan gibi görev görür. Bu dosyayı kesinlikle modifiye etmemelisiniz. Örnek bir R.java dosyası aşağıda verilmiştir.

 Layout Dosyası

activity_main.xml dosyası res/layout klasöründe bulunan ve uygulamanın arayüzünü belirleyen dosyadır. Uygulama yazılırken java kodu içerisinden bu dosya referans gösterilir. Bu dosyayı sıklıkla değiştireceksiniz. İlk örneğimizde(hello world) default olarak oluşacak içerik aşağıdadır.

Bizi Destekleyin!

Yeni Uygulamamız “Hızlı DNS Değiştirici” yayınlandı! Uygulamayı indirerek, puanlayarak ve yorum yaparak bize destek olabilirsiniz. Emeğimizin karşılığı olarak bize destek verin.

logo_google_play_store_badge

Bir yazımızın daha sonuna geldik. Yazıyı beğendiyseniz paylaşmayı unutmayın!. Desteğiniz bizim için çok önemlidir, bizi daha fazla ders hazırlamaya teşvik edecektir.
CANLI TV İZLEME UYGULAMAMIZ DENEMEK VE/VEYA DESTEK OLMAK İSTERSENİZ MEMNUN OLURUZ :

ic_launcher512


İyi Çalışmalar.

Mustafa Demir

Elektronik, linux, android, ios, matlab, latex, python, C, ve C++ meraklısıyım. Profesyonel Android Uygulama Geliştiricisi olma yolunda ilerliyorum. Ubuntu 15.04 kullanıcısıyım. Merakımın peşinden koşmayı severim.

Şunlar da ilginizi çekebilir

1 Yorum

LEAVE A COMMENT