Yeni bir Android projesi yarattığımızda standart bir Java projesinden farklı olarak birtakım yeni klasör ve xml dosyası görürüz.Bu dosya yapısını kavramak projeyi geliştirmeden önceki en önemli adımdır.Temelleri iyi oturtup neyi neden ve hangi dosyadan yaptıgımızı anlamak çok önemli.
src klasörü: Kaynak dosyaları burada yer alır. Bu klasörün içinde Java dosyalarını tutacağız.
src nin altında
MyActivity dosyası var burda uygulama ile ilgili kodları yazıyorum.Ve yine
Android Manifest.xml dosyası var burda uygulama ile ilgili her türlü bilgiyi barındırır.Android programı çalışırken kendisini oluşturan elemanlar arası iletişimi bu dosya üzerinden sağlar.
AndroidManifest.xml
dosyası üzerinden uygulamanın cihaz üzerinde erişebileceği
kaynaklar(internet erişimi, konum bilgisi ve klasörlere erişim gibi)
belirlenir.
gen klasörü: Android tarafından otomatik oluşturulan dosyalar burada bulunur. Biz uygulamaya yeni kaynaklar ekledikçe bu sınıf da ADT tarafından otomatik olarak güncelleniyor. Bu sınıf,
appt(Android Asset Packing Tool) tarafından oluşturuluyorBuradaki
R.java dosyası
projede kullandığınız her türlü tasarım, resim ve metin
dosyasının tanımlayıcılarına (ID) referans içerir. Bu dosya otomatik
olarak oluşturulur ve dışarıdan müdahale edilmemesi önerilir.
assets klasörü: Uygulamada kullanacağımız destekleyici dosyaları burada tutabiliriz. Örneğin,
sqlite veritabanı oluşturduysak ve uygulamayla beraber
sqlite dosyasını da göndermek istiyorsak, dosyanın bu klasör içinde bulunması gerekir.
Yada uygulamamız ile birlikte paketlenmesini istediğimiz dosyalar varsa(tar.gz gibi
) bunları koymamız gereken klasördür.
bin klasörü: Uygulamanın derlenmiş hali bu klasörde tutulur.
libs klasörü: Eğer uygulamamızda Android SDK içinde yer almayan bir Java kütüphanesi (örneğin AdMob) kullanıyorsak, ilgili
jar dosyalarını bu klasöre atmamız gerekir. Ancak bir
jar dosyası ekledikten sonra dosyaya sağ tuşla tıklayıp
Add To Build Path seçeneğini seçmeyi unutmamalıyız. Aksi takdirde derleyici
jar dosyasını göremez.
res klasörü: Uygulamayla ilgili her türlü kaynak bu klasörde tutulur. Burada tutulan dosya tipleri resim dosyaları, ekran tasarımları ve metin dosyaları olabilir. Şimdi bu klasörü biraz daha detaylı inceleyelim
;
drawable klasörleri: Bu klasörler uygulamada kullanılan resim dosyalarını içerir. Bu dosyalar PNG ya da JPEG formatında olabilir. Klasörün yanındaki
hdpi (high dpi),
ldpi (low dpi),
mdpi (medium dpi) ve
xhpi (extra hight dpi)
cihaza özel ekran çözünürlüklerine göre dosya çağırmamızı sağlar.
Örneğin uygulamanın çalıştığı cihaz eski modelse ve ekranı düşük
çözünürlük destekliyorsa
ldpi klasörü içindeki resim dosyaları
kullanılacaktır. Ama uygulama yeni nesil geniş ekran bir cihazda
çalışıyorsa ona uygun olarak yüksek çözünürlüklü bir klasörde bulunan
dosyalar kullanılır. Eğer uygulamanızda düzgün bir tasarım varsa ve
geniş yelpazede cihazlar destekliyorsanız tasarımcınızdan uygun
formatlarda dosyalar istemenizi öneririz.
layout klasörü: Burada ekranlara dair tasarım dosyaları bulunur.
xml formatındaki bu dosyalar her ekrana ait tasarımları barındırır. Bir ekran
Activity ile oluÅŸturulduÄŸunda
onCreate metodu içinde ilgili layout çağırılır ve ekranda yer alacak öğeler oluşturulur.
Ve içerisindeki main.xml dosyasını bulundurur main.xml dosyası design kısmı ve bu objelere id ve name gibi özeliklerinin verildigi text kısmı bulunuyor.bu dosya bize uygulamamızda kullanıcagım button , textview radiobutton ,textbox gibi tasarım objelerini sunar.
values klasörü: Uygulamada kullanılan sabit değişkenler burada saklanabilir.
strings.xml
dosyası uygulamada kullanılan ve ekranlarda kullanıcıya gösterilen her
türlü metni saklar. Anahtar – veri mantığıyla saklanan bu deÄŸerler kod
içinde ya da
layout dosyalarında çağırılır. Aynı zamanda bu değerler
R.java dosyasında işaretlenir. Bunun dışında
colors.xml dosyası
layout dosyalarında kullanılacak önceden tanımlanmış renkleri içerir.
styles.xml dosyası ise ekranlarda kullanılan ve yine
layout dosyalarından çağrılan stilleri içerir.
values klasörünün bir başka özelliği de cihazın ayarlanmış ana diline göre yerelleşebilmesidir.Ve cihaza çoklu dil seçenegi eklerkende yine bu dosyadan yararlanıcagız.
AndroidManifest.xml dosyası: Bu dosya uygulamanın kalbidir. AndroidManifest.xml dosyası android uygulamalarının hepsinde bulunması
zorunlu olan çok önemli bir dosyadır. Bu dosya android uygulamasının
root klasöründe bulunur ve uygulamanın çalışabilmesi için mutlaka dosya
adının
"AndroidManifest.xml" şeklinde olması gerekir.Uygulamayla ilgili her türlü özellik ve
uygulamanın işletim sisteminden talep edeceği bütün izinler burada
tanımlanır. Aynı zamanda uygulama içinde kullanılan her ekran burada
kaydedilip tanımlanmak zorundadır.Ve burda sdknın versiyon bilgileri var cihaz ile ilgili biruyumsuzluk söz konusu oldugunda bu dosyadan bu versiyonu düşürebiliriz.
Proguard-project.txt:Uygulama kodlarına bir dizi performans optimizasyonu yapar.Kodun şifrelenmesini ve lisanslanmasını da sağlar.
.
properties uzantılı dosyalar: Uygulamanın derlenip cihaza gönderilmesi sırasında çalışan ‘Ant’ scripti
tarafından kullanılan özellik dosyasıdır.Burada uygulamanın hangi SDK
versiyonu ile çalışacağı tutulur. Yazdığımız uygulamanın cihaza
gönderilip çalışması sırasında arka planda kullanılan dosyadır. Elle
deÄŸiÅŸtirilmesi genelde tavsiye edilmez.