Bir android projesi oluşturuğunuzda karşınıza bir çok dosya ve klasör çıktığını görürsünüz. Eğer bir android uygulaması geliştirmek istiyorsanız bu dosya ve klasörlerin ne amaçla kullanıldıklarını bilmeniz gerekmektedir.
Bir önceki yazımda bir android projesi
oluşturmuştuk, şimdi ise android projeleri içerisinde yer alan dosya ve klasörleri tanıyacağız.
1- src Klasörü
Burada src, kaynak (source) kelimesinin kısaltılması olarak kullanılmıştır. Bu klasör içerisinde, projemiz için gerekli olan kaynak kodlar / dosyalar yer almaktadır. Kaynak kodlar, uygulamamızın temelidir. Uygulamamız için gerekli bütün işlemleri bu dosyalar ile gerçekleştirebiliyoruz.
Burada yer alan dosyalar .java uzantılı dosyalar olup Java dili kullanılarak yazılan kodlardan oluşur.
2- gen Klasörü
Bu klasör içerisindeki dosyalar, sistem tarafından otomatik olarak oluşturulur. Gen ismi de, oluşturulan (generated) kelimesinin kısaltmasıdır.
3- R.java Dosyası
gen klasörü içerisinde yer alan bu dosya, yukarıda da belirttiğim gibi sistem tarafından oluşturulan bir dosyadır. res klasörünün içerisine oluşturduğumuz tüm kaynakların referansları bu dosyada yer alır. Oluşturduğumuz kaynakları bu referanslar sayesinde kullanabiliriz. Bu sebeple bu referanslar res klasörü içerisinde yer alan her kaynak için otomatik olarak üretilir. Bu dosyaya dışarıdan müdahale edilmemesi önerilir.
4- assets Klasörü
Bu klasörde, android tarafından tanınmayan verilerin tutulduğu dosyalar yer alır. Android platformu bu tür kaynakları tanımadığından dolayı R.java dosyası içerisinde herhangi bir referans üretilmez.
Burada bulunan dosyalar uygulama paketi içerisinde yer alırlar. Örneğin; bir sqLite dosyasını uygulamanızda kullanmak istiyorsanız, bu dosyayı assets klasörü içerisine koymalısınız. Bu tür verilere, kodunuz içerisinde AssetsManager sınıfını ve getAssets() metodunu kullanarak ulaşabilirsiniz.
5- bin Klasörü
Bu klasör, uygulamanızın derlenmiş halini içerisinde bulundurur. Sizin bu klasöre müdahale etmenize gerek yoktur.
6- libs Klasörü
Bu klasör, adından da anlaşılacağı gibi kütüphanelerin(libraries) koyulduğu klasördür. Android SDK içerisinde yer almayan ve projenizde kullanmak istediğiniz java kütüphanelerini bu klasör içerisine kopyalayabilirsiniz.
.jar uzantılı bu kütüphaneleri libs klasörü içerisine kopyaladıktan sonra dosyaya sağ tıklayıp Add to Build Path seçeneğini seçmelisiniz. Aksi taktirde kütüphaneniz proje tarafından tanınmaz.
7- res Klasörü
res, kaynaklar (resources) kelimesinin kısaltmasıdır. Projeniz için gerekli kaynaklar burada yer almalıdır. Burada yer alan kaynaklar, platform tarafından tanınan kaynaklardır ve bu kaynaklar için R.java dosyası içerisinde referanslar üretilir. Bu sayede kodlarınız arasından bu kaynaklara rahat bir şekilde ulaşabilirsiniz.
7.1- drawable Klasörleri
Bu klasörler, uygulamanızda kullanmak istediğiniz resimleri koymanız içindir. Uygulamalarınızın kullanılacağı cihazların çözünürlükleri farklı olacağından farklı boyutlarda resimler koymanız gerekmektedir. Bu sebeple drawable klasörü bir tane değildir. Farklı çözünürlüklere uygun klasörler mevcuttur. klasörlerin yanında yer alan; ldpi, hdpi, mdpi, xdpi, xxdpi gibi ifadeler boyutları belirmektedir. ldpi; küçük, mdpi; orta, hdpi; büyük, xdpi; daha büyük, xxdpi; çok daha büyük resimleri ifade etmektedir. Ekran çözünürlükleri arttıkça bu klasörlerin sayısıda artmaktadır.
7.2- layout Klasörleri
Bu klasör içerisinde ise, oluşturacağınız ekranlar için tasarımlar hazırlayacağınız xml dosyaları yer almaktadır. Örnek bir xml dosyasını aşağıda görebilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout style="@style/Widget.SampleMessageTile" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <TextView style="@style/Widget.SampleMessage" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/horizontal_page_margin" android:layout_marginRight="@dimen/horizontal_page_margin" android:layout_marginTop="@dimen/vertical_page_margin" android:layout_marginBottom="@dimen/vertical_page_margin" android:text="@string/intro_message" /> </LinearLayout> </LinearLayout> |
7.3- values Klasörleri
Uygulama içerisinde kullanmak istediğiniz sabit değişkenleri, bu klasör içerisinde tutabilirsiniz. Örneğin, bir string’i bu klasör içerinde yer alan string.xml dosyası içerisinde tanımlarsanız, o string’i istediğiniz yerde kullanabilirsiniz ve değiştirmek istediğinizde tek bir yerden değiştirmeniz yeterli olur.
Not: Kod içerisinden buradaki değişkenlerin değerini değiştiremezsiniz.
8- AndroidManifest Dosyası
Bu dosyayı uygulanızın bir taslağı olarak düşünebilirsiniz. Uygulamanızda kullanacağınız bütün ekranların burada tanımlanması gerekmektedir. Ayrıca uygulamanızın bütün özellikleri burada tanımlıdır. Uygulamanızın kullanılacağı cihazlardan isteyeceği izinler de burada tanımlanmalıdır. Bunların nasıl yapılacağına, ayrıntılı bir şekilde ilerleyen yazılarım içerisinde yer vereceğim. Örnek olarak aşağıdaki dosyayı inceleyebilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.kod5.android" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="org.kod5.android.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> |
[…] önceki yazımda, android projesinde yer alan dosya ve klasörleri tanıtmıştım. Şimdi ise Activity […]
[…] dosyası olan xml uzantılı dosya. Ekran tasarımınızın yer alacağı xml uzantılı bu dosya res klasörü altında yer alan layout klasörleri içerisinde yer […]
[…] kullandığımız bileşendir. Göstereceğimiz bu resimler, uygulama klasörlerinden drawable klasörleri içerisinde yer alan veya başka bir kaynakta yer alan resimler […]
[…] olarak aşağıdaki resimleri ya da kendi istediğiniz başka iki resmi res klasörü altındaki drawable klasörü içerisine koyalım. Yanda resimleri nereye koyduğumuzu […]
[…] Bir önceki yazımda bu bileşenleri sürükle bırak mantığıyla kullanabileceğimiz layout dosyalarından bahsetmiştim, şimdi ise bunlara genel hatları ile […]
[…] ifade ediyoruz. Bir rengi uygulama içerisinde kullanılmak üzere tanımlamak istediğimizde bunu res klasörü altında yer alan values klasöründeki colors.xml dosyası içerisinde yapmamız gerekir. Burada […]
[…] için Android’in otomatik olarak oluşturduğu MainActivity sınıfı ve activity_main xml dosyasını […]
Yazılarınız için teşekkür ederim. Kendimi android proglama konusunda geliştirmeye çalışıyorum. Kurstan daha sade bir anlatımınız var. Daha nice derslere… 🙂
Android 4.4.2 lenovo bir telefon kullanıyorum ve dahili hafizadan sistem dosyaları haric herseyi silmem gerek telefona virus bulasti yeni sistem uygulamalari yukluyor ve silsem dahi geri yükleniyor yardimci olur musunuz
Merhaba splash ekran ve toads mesaj konusunda yardım gerekiyor
merhaba
android 5.1.1 de tableti şarja bağlandığında pil animasyonunu çağıran kaomut satırı hangi dosya içinde ve hangi ad ile bulunur.
yardımcı olabilirseniz sevinirim.