AndroidManifest.xml dosyasının işlevlerini ve içindeki kısımları bilmek bir proje yaratırken oldukça faydalı olacaktır.
AndroidManifest.xml, tüm kuralların tanımlandığı yerdir. Uygulamanın çalışması için verilmesi gereken izinler burada verilir. Açtığımız bütün activity sınıflarını burada tanımlamamız gerekir. Versiyon ayarlamaları da burada yapılır. Uygulamanın önemli dosyalarından biridir.
Aklımıza gelebilecek birçok şey bu dosya içindeki verilere göre şekillenir. Örneğin; sms gönderme iznini vermediğimiz bir uygulama sms gönderemez veya internet erişimi vermediğimiz bir uygulamanın internete bağlanma imkânı yoktur. Ya da bir activity sınıfını bu dosyada tanıtmadığımız sürece uygulamamız içinde o sınıfa erişmemiz mümkün olmayacaktır!!
Ne, ne işe yarıyor?
<?xml version="1.0"encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.deneme"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".DenemeActivity"
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>
- “package”: tanımlaması sonraki Java tanımlamaları için temel paketi tanımlar. Paket isminin benzersiz olması gerekmektedir. Çünkü AndroidMarketPlace sadece özel paket ismi olan uygulamaları kabul etmektedir. Bu nedenle, diğer geliştiricilerin uygulamaları ile örtüşmeleri engellemek için paket ismi olarak ters alan adı kullanmak iyi bir alışkanlıktır.
- “android:versionCode” ve “android:versionName” : tanımlamaları kullanıcının gördüğü versiyon ismi (herhangi bir string olabilir) ve uygulamanın versiyonunu gösterir.Integer bir değer olan versionCode, AndroidMarket tarafından uygulamanın daha önce yüklenen versiyonunun güncellenmesi veya yeni bir versiyon yüklenmesi işleminde kullanılmaktadır. Genellikle 1 ile başlayan bu değer, her yeni yüklemede 1 artar.
- “action android:name=”android.intent.action.MAIN”” : bu sınıf için, uygulama başladığında activitynin de başladığını tanımlayan “intent fitler” kaydı bununla yapılır.
- “category android:name=”android.intent.category.LAUNCHER””: ile Android cihaz üzerinde bu uygulamanın bir uygulama dizini olarak eklenme işlemi tanımlanmaktadır.
- “@ değeri”: gerçek değerleri içeren kaynağı işaret eder. Bu yolla değerlere erişmek, değişik kaynakların ( yazı,renk,ikon) farklı telefonlarda çalışmasını sağlar.
- “android:icon”: değeri uygulamamız için bir icondur. Burada android SDK’nın bize sağladığı iconu default olarak veriyor. Bu iconu res dizininin altında bulunan drawable dizininin altında görebiliriz. İconu değiştirmek istersek, buraya ( drawable dizininin altına) resmi ekledikten sonra @drawabla/eklenenresimadı şeklinde yazmamız yeterli olacaktır.
- “android:label”: telefon üzerinde uygulamanın adıdır. ( Menüde ve çalıştırdığımız zaman başlık bölümünde gözüken kelime)
Ters alan adı nedir?