Peran File AndroidManifest di Program Aplikasi
Kalau kamu sering membuat aplikasi Android, pasti kamu seringkali melihat dan memodifikasi file AndroidManifest. Bagaimana tidak, sebab AndroidManifest berisi tentang informasi terkait package aplikasimu. Diantaranya termasuk :
- Activities
- Services
- Broadcast Receiver
- Content Provider
- Dan Yang lainnya
Ia juga melakukan tugas lain seperti :
- Bertanggung jawab untuk melindungi aplikasi untuk mengakses bagian yang dilindungi dengan memberikan izin.
- Mendeklarasikan api android mana yang akan digunakan aplikasi.
- Mencantumkan kelas instrumentasi. Kelas instrumentasi menyediakan profil dan informasi lainnya. Informasi ini akan dihapus sebelum aplikasi diterbitkan.
Tampilan default dari file AndroidManifest akan terlihat seperti berikut :
<manifest xmlns:android=”http://schemas.android.com/apk/res/android”
package=”com.javatpoint.hello”
android:versionCode=”1″
android:versionName=”1.0″ >
<uses-sdk
android:minSdkVersion=”8″
android:targetSdkVersion=”15″ />
<application
android:icon=”@drawable/ic_launcher”
android:label=”@string/app_name”
android:theme=”@style/AppTheme” >
<activity
android:name=”.MainActivity”
android:label=”@string/title_activity_main” >
<intent-filter>
<action android:name=”android.intent.action.MAIN” />
<category android:name=”android.intent.category.LAUNCHER” />
</intent-filter>
</activity>
</application>
</manifest>
Elemen-Elemen Penting Pada File AndroidManifest
Elemen-elemen penting yang digunakan pada file xml di atas dijelaskan di bawah ini.
<manifest>
manifest adalah elemen root dari file AndroidManifest.xml. Ini memiliki atribut paket yang menjelaskan nama paket dari kelas activity.
<application>
aplication adalah sub-elemen dari manifest. Ia termasuk deklarasi namespace. Elemen ini berisi beberapa sub-elemen yang mendeklarasikan komponen aplikasi seperti activity dan yang lainnya.
Atribut yang umum digunakan dari elemen ini adalah ikon, label, tema, dll :
- android: icon mewakili ikon untuk semua komponen aplikasi android.
- android: label berfungsi sebagai label default untuk semua komponen aplikasi.
- android: theme me-representasikan tema umum untuk semua aktivitas android.
<activity>
activity adalah sub-elemen aplikasi dan mewakili aktivitas yang harus didefinisikan dalam file AndroidManifest.xml.
Activity memiliki banyak atribut seperti label, nama, tema, launchMode dll.
android: label merepresentasikan label yang ditampilkan di layar.
android: name merepresentasikan sebuah nama untuk kelas aktivitas yang diperlukan atribut.
<intent-filter>
intent-filter adalah sub-elemen aktivitas yang mendeskripsikan tipe maksud yang bisa di respons oleh activity, Service, atau broadcast receiver.
<action>
Menambahkan tindakan untuk intent-filter. Filter yang dimaksud harus memiliki setidaknya satu elemen tindakan.
<category>
Menambahkan nama kategori ke Intent-filter.
Peran File R.Java di Program Android
Android R.java adalah file yang dibuat secara otomatis oleh AAPT (Android Asset Packaging Tool) yang berisi ID sumber daya untuk semua sumber daya direktori res.
Kalau kamu membuat komponen apa pun di file activity_main.xml, id untuk komponen terkait, secara otomatis dibuat di file ini. ID ini bisa digunakan di file sumber aktivitas untuk melakukan tindakan apa pun pada komponen.
Semisal kamu menghapus file R.jar, android akan membuatnya kembali secara otomatis.
Mari kita lihat file android R.java. Ini mencakup banyak kelas static nested seperti menu, id, layout, attr, drawable, string, dll.
/* AUTO-GENERATED FILE. DO NOT MODIFY.
*
* This class was automatically generated by the
* aapt tool from the resource data it found. It
* should not be modified by hand.
*/
package com.example.helloandroid;
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int ic_launcher=0x7f020000;
}
public static final class id {
public static final int menu_settings=0x7f070000;
}
public static final class layout {
public static final int activity_main=0x7f030000;
}
public static final class menu {
public static final int activity_main=0x7f060000;
}
public static final class string {
public static final int app_name=0x7f040000;
public static final int hello_world=0x7f040001;
public static final int menu_settings=0x7f040002;
}
public static final class style {
/**
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
Base application theme for API 11+. This theme completely replaces
AppBaseTheme from res/values/styles.xml on API 11+ devices.
API 11 theme customizations can go here.
Base application theme for API 14+. This theme completely replaces
AppBaseTheme from BOTH res/values/styles.xml and
res/values-v11/styles.xml on API 14+ devices.
API 14 theme customizations can go here.
*/
public static final int AppBaseTheme=0x7f050000;
/** Application theme.
All customizations that are NOT specific to a particular API-level can go here.
*/
public static final int AppTheme=0x7f050001;
}
}
Sumber : https://www.javatpoint.com/AndroidManifest-xml-file-in-android