- Back to Home »
- android , manifest »
- Apa itu AndroidManifest.xml?
Posted by : Unknown
Thursday, March 27, 2014
Setiap
aplikasi mobile android pasti memiliki sebuah file AndroidManifest.xml pada direktori rootnya.
The manifest file menyajikan
informasi esensial kepada sistem android tentang aplikasi anda,
menginformasikan apa yang harus dimiliki sistem sebelum menjalankan apapun code yang ada pada aplikasi. Manifest
melakukan hal-hal berikut:
- Menamai paket Java untuk aplikasi. Nama paket berfungsi sebagai identifikasi unik untuk aplikasi
- Mendeskripsikan komponen-komponen aplikasi (aktivitas-aktivitas, servis-servis, penerima broadcast, dan penyedia konten aplikasi)
- Menentukan proses mana yang akan menjalankan komponen-komponen aplikasi
- Mendeklarasikan hak akses mana yang harus dimiliki aplikasi untuk mengakses bagian-bagian API yang terproteksi dan untuk berinteraksi dengan aplikasi lainnya.
- Mendeklarasikan hak akses yang perlu dimiliki oleh aplikasi lain untuk berinteraksi dengan komponen-komponen aplikasi
- Mendaftarkan kelas-kelas Instrumentation yang menyediakan pemrofilan dan informasi lainnya sesuai jalannya aplikasi. Deklarasi ini terdapat dalam manifest hanya ketika aplikasi sedang dikembangkan dan diuji; deklarasi ini dihilangkan sebelum aplikasi dipublikasi
- Mendeklarasikan tingkat minimum dari API android yang dibutuhkan aplikasi
- Mendaftarkan library yang harus dihubungkan dengan aplikasi
Struktur dari File Manifest
Diagram
di bawah menunjukkan struktur umum dari file manifest dan setiap elemen yang
terdapat di dalamnya.
<?xml version="1.0" encoding="utf-8"?> <manifest> <uses-permission /> <permission /> <permission-tree /> <permission-group /> <instrumentation /> <uses-sdk /> <uses-configuration /> <uses-feature /> <supports-screens /> <compatible-screens /> <supports-gl-texture /> <application> <activity> <intent-filter> <action /> <category /> <data /> </intent-filter> <meta-data /> </activity> <activity-alias> <intent-filter> . . . </intent-filter> <meta-data /> </activity-alias> <service> <intent-filter> . . . </intent-filter> <meta-data/> </service> <receiver> <intent-filter> . . . </intent-filter> <meta-data /> </receiver> <provider> <grant-uri-permission /> <meta-data /> <path-permission /> </provider> <uses-library /> </application> </manifest>
Elemen-Elemen File Manifest
1. <action>
Menambahkan sebuah
aksi pada intent filter. Sebuah elemen <intent-filter>
harus memuat satu atau lebih elemen <action>.
Jika tidak mengandung satu pun, tidak ada objek intent yang akan melewati
filter.
2. <activity>
Mendeklarasikan
sebuah aktivitas (subkelas Activity) yang
mengimplementasikan bagian dari antarmukavisual pengguna aplikasi. Semua
aktivitas harus direpresentasikan oleh elemen <activity>
di dalam file manifest. Aktivitas yang tidak dideklarasikan disana tidak akan
dilihat oleh sistem dan tidak akan pernah berjalan.
3. <activity-alias>
Sebuah alias
untuk aktivitas dinama oleh atribut targetActivity.
Target harus berada dalam aplikasi yang sama dengan alias dan harus
dideklarasikan sebelum alias dalam manifest.
4. <application>
Deklarasi dari
aplikasi. Elemen ini mengandung subelemen yang mendeklarasikan masing-masing
komponen aplikasi dan memiliki atribut yang bisa mempengaruhi semua komponen.
5. <category>
Menambah sebuah
nama kategori pada sebuah intent filter.
6. <data>
Menambah sebuah
spesifikasi data pada sebuah intent. Spesifikasi bisa hanya sebuah tipe data,
sebuah URI, atau keduanya.
7. <grant-uri-permission>
Menentukan
subset data dari penyedia konten induk mana yang bisa diberi hak akses. Subset
data diindikasikan oleh bagian path dari sebuah content: URI.
8. <instrumentation>
Mendeklarasikan
sebuah kelas instrumentation yang memungkinkan kita untuk mengawasi interaksi
sebuah aplikasi dengan sistem. Objek instrumentation diinstansiasi sebelum komponen
aplikasi.
9. <intent-filter>
Menentukan tipe
intent yang akan merespon sebuah aktivitas, servis atau penerima broadcast.
Sebuah intent filter mendeklarasikan kemampuan dari komponen induknya,
aktivitas atau servis apa yang bisa dilakukan dan tipe broadcast apa yang bisa
di tangani oleh penerima. Intent filter membuka komponen untuk menerima intent
yang bertipe iklan, sambil menyaring intent yang tidak berarti untuk komponen.
10.<manifest>
Elemen dasar
dari file AndroidManifest.xml, harus memuat sebuah elemen <application>
dan menetapkan atribut xmlns:android dan package.
11.<meta-data>
Sepasang
nama-nilai untuk item data tambahan, sembarang yang dapat diberikan kepada
komponen induk. Sebuah elemen komponen dapat berisi sejumlah subelemen <meta-data>.
12.<permission>
Mendeklarasikan
sebuah izin keamanan yang bisa digunakan untuk menetapkan komponen atau fitur
dari aplikasi ini atau lainnya.
13.<permission-group>
Mendeklarasikan
nama untuk pengelompokan logis dari izin yang terkait. Izin individual masuk ke
dalam kelompok melalui atribut permissionGroup dari elemen <permission>.
Anggota grup disajikan bersama dalam antarmuka pengguna.
14.<permission-tree>
Mendeklarasikan
nama dasar untuk pohon hak akses. Aplikasi mengambil kepemilikan dari semua
nama di dalam pohon. Hal ini dapat secara dinamis menambah izin ke dalam pohon
dengan memanggil PackageManager.addPermission().
15.<provider>
Mendeklarasikan
komponen penyedia konten. Penyedia konten adalah sebuah subkelas dari ContentProvider
yang menyediakan akses data terstruktur yang diatur oleh aplikasi. Semua
penyedia konten dalam aplikasi kita harus didefinisikan dalam sebuah elemen <provider>
dalam file manifest, kalau tidak maka sistem tidak akan menyadari kehadirannya
dan tidak menjalankannya.
16.<receiver>
Mendeklarasikan
sebuah penerima broadcast (subkelas BroadcastReceiver)
sebagai salah satu dari komponen aplikasi. Penerima broadcast memungkinkan
aplikasi untuk menenrima intent yang disiarkan oleh sistem atau aplikasi
lainnya, bahkan ketika komponen lain dari aplikasi tidak berjalan.
17.<service>
Mendeklarasikan
suatu servis (subkelas Service) sebagai salah satu
dari komponen aplikasi. Tidak seperti aktivitas, servis tidak memiliki
antarmuka visual pengguna. Mereka digunakan untuk mengimplementasikan operasi
long-running background atau komunikasi API yang dipanggil oleh aplikasi lain.
18.<supports-screens>
Menetapkan
ukuran layar yang didukung aplikasi dan memungkinkan mode kompatibiltas layar
untuk layar yang lebih besar dari yang didukung oleh aplikasi.
19.<uses-configuration>
Mengindikasikan
fitur hardware dan software apa yang dibutuhkan oleh aplikasi.
20.<uses-feature>
Mendeklarasikan
fitur tunggal hardware atau software yang digunakan oleh aplikasi.
21.<uses-library>
Menetapkan
library berbagi yang harus dihubungkan dengan aplikasi.
22.<uses-permission>
Meminta izin
yang harus diberikan kepada aplikasi agar beroperasi dengan benar.
23.<uses-sdk>
Dengan elemen ini kita
bisa menyatakan kompatibilitas sebuah aplikasi dengan satu atau lebih versi
platform Android, melalui sebuah tingkat integer API.
Sumber: developer.android.com
thanks bro dibookmark dlu nih
ReplyDeleteGurame Murah dibekasi