Showing posts with label manifest. Show all posts
AndroidManifest.xml
1.
<action>
Syntax :
Menambahkan sebuah tindakan
untuk intent filter. Sebuah elemen <intent-filter>
harus berisi satu atau lebih elemen <action>.
2.
<activity>
Syntax :
Mendeklarasikan sebuah
aktivitas (subclass dari aktivitas)
yang mengimplementasikan baigan dari visual aplikasi (interface) bagi pengguna. Semua aktivitas harus bisa
merepresentasikan elemen <activity> dalam file manifest. Jika tidak dideklarasikan maka
sistem tidak akan tahu dan tidak akan pernah di jalankan.
3.
<activity-alias>
Syntax :
Sebuah alias untuk
aktifitas ditunjuk oleh atribut targetActivity. Target
harus dalam aplikasi yang sama sebagai alias dan harus dideklarasikan sebelum
alias dalam file manifest.
Alias menyajikan target
aktifitas sebagai entitas independen. Alias memiliki intent-filter sendiri.
Elemen <activity-alias>
merupakan subset dari atribut <activity>. Untuk atribut subset,
tidak ada nilai yang ditetapkan dari target yang dibawa oleh alias. Namun,
untuk atribut bukan subset, nilai ditetapkan untuk target aktivitas yang
berlaku untuk alias.
4.
<application>
Syntax :
Merupakan deklarasi
dari aplikasi. Element ini berisi subelement yang mendeklarasikan setiap
komponen aplikasi yang memiliki atribut dan dapat mempengaruhi semua komponen.
Banyak atribut (seperti icon, label, permission, process, tasAffinity, dan
allowTaskParenting)
yang
nilainya ditetapkan secara default
untuk atribut dari elemen komponen yang sesuai. Lainnya (seperti debuggale,
enabled, description, dan allowClearUserData) nilainya
ditetapkan untuk aplikasi secara keseluruhan dan tidak bisa diganti oleh
komponen.
5.
<category>
Syntax :
Menambahkan nama
kategori ke dalam intent filter.
6.
<compatible-screens>
Syntax :
Menentukan spesifikasi
setian konfigurasi layar dengan aplikasi yang kompetibel. Hanya satu contoh
dari elemen <compatible-screens> yang diizinkan dalam manifest, tetapi itu bisa berisi
beberapa elemen <screen>. Setiap elemen <screen>
menentukan size-density yang cocok
untuk aplikasi.
Sistem android tidak
dapat membaca elemen manifest <compatible-screen>.
Elemen ini hanya dapat digunakan oleh layanan eksternal (seperti Google Play) untuk dapat mengerti dengan
baik kompatibilitas sebuah aplikasi dengan spesifikasi konfigurasi layar
tertentu dan memungkinkan penyaringan bagi pengguna. Setiap konfigurasi layar
tidak dideklarasikan dalam element.
7.
<data>
Syntax :
Menambahkan spesifikasi
data ke intent-filter. Spesifikasi
bisa saja berupa tipedata (atribut mimeType), URI, atau
kedua dari tipe data dan URI.
Anda dapat menempatkan
nomor dari elemen <data> dalam sebuah <intent-filter>
untuk memberikan beberapa pilihan data. Tidak ada atribut yang memiliki nilai default.
Informasi tentang
bagaimana intent-filter bekerja,
termasuk aturan bagaimana intent objects
cocok dengan filter, dapat ditemukan
di dokumen lain, intent dan intent filters.
8.
<grant-uri-permission>
Syntax :
Menentukan subsets data
dari penyedia konten yang disediakan. Data subsest mengindikasikan bagian dari content
: URI. (Otoritas bagian dari URI mengidentifikasi penyedia konten). Memberian
izin merupakan cara yang memungkinkan bagi klien dari penyedia yang biasanya
tidak memiliki izin untuk mengakses data.
Jika penyedia konten
atribut grantUriPermissions
itu “true”
izin dapat diberikan untuk setiap data yang berada diruang lingkup penyedia.
Namun, jika atribut itu “false”, izin dapat diberikan hanya untuk
data subset saja yang dijelaskan atau dispesifikasikan oleh element. Penyedia
layanan bisa berisi nomor dari elemen <grant-uri-permission>.
Setiap elemen bisa dispesifikasi oleh satu path
(hanya satu dari tiga kemungkinan atribut).
9.
<instrumentation>
Syntax :
Mendeklarasikan sebuah
kelas instrumentation
yang memungkinakan pengguna untuk memonitar interaksi aplikasi menggunakan
sistem. Objek instrumentation adalah instantiated
dari komponen aplikasi.
10.
<intent-filter>
Syntax :
android:icon
sebuah icon mewakili aktifitas
parent, layanan, atau penerima
broadcast ketika komponen menyediakan kepada pengguna yang memiliki kemampuan
yang dideskripsikan oleh filter.
Atribut ini harus
ditetapkan sebagai referensi untuk sumber daya yang berisi definisi gambar.
Nilai default ditetamkan oleh induk komponen atribut icon.
android:label
Sebuah label untuk
komponen pengguna dapat dibaca. Label harus ditetapkan sebagai referensi dari
sumber daya string, sehingga dapat
dialokasikan seperti string lain
dalam pengguna antarmuka. Nilai default dari label ditetapkan oleh komponen induk.
Jika induk tidak menentukan label, nilai default
ditetapkan oleh atribut elemen <application>.
android:priority
prioritas harus
diberikan kepada komponen induk dengan penanganan intents dari deskripsi tipe oleh filter.
11.
<manifest>
Syntax :
Elemen root dari file
AndroidManifest.xml. file tersebut berisi sebuah elemen <application>
dam
spesifikasi xmlns:android dan atribut package.
12.
<meta-data>
sebuah name-value untuk item tambahan, data
yang bisa menyediakan kepada komponen induk. komponen elemen bisa berisi nomor
dari subelemen <meta-data>. Nilai dari semuanya
adalah kolesi dalam sebuah onjek bundle tunggal dan membuat
komponen yang tersedia sebagai bidang PackageItemInfor.metaData. Hal
ini sangat disarankan agar dapat menghindari supply data sebagai bagian
terpisah dari <meta-data>.
13.
<path-permission>
android:path
path URI yang lengkap
untuk sebuah subses dari konten penyedia data.
android:PathPrefix
inisialisai bagian dari
URI untuk subset dari konten penyedia data.
android:pathPattern
path URI yang lengkap
untuk subset penyedia data, tetapi satu bisa menggunakan wildcards berikut :
· Aterisk
(*). Ini cocok untuk urutan 0 ke banyak kejadian dari karakter sebelumnya.
· Sebuah
periode diikuti dengan tanda bintang (*). Hal ini cock untuk 0 atau lebih
karakter.
android:permission
nama dari izin dari
klien harus memiliki perintah untuk read
dan write konten dari penyedia data.
android:readPermission
sebuah izin dari klien
harus memiliki perintah query yang
menyediakan konten.
android:writePermission
izin dari klien harus
memilik perintah untuk mengubah data yang dikontrol oleh konten penyedia.
14.
<permission>
Mendeklarasikan sebuah
izin keamanan yang bisa digunakan untuk batas akses ke komponen spesifik atau
fitur dari aplikasi lain.
15.
<permission-group>
Mendeklarasikan nama
untuk kelompok logis dari izin terkait.
16.
<permission-tree>
Mendeklarasikan nama
dasar untuk tree-permission
17.
<provider>
Mendeklarasikan konten
dari penyedia komponen. Sebuah konten penyedia merupakan subclass dari ContentProvider yang
menyediakan struktur akses ke manajemen data dari aplikasi. Semua konten penyedia
dalan aplikasi harus bisa didefinisikan dalam sebuah elemen <provider>
dalam
file manifest.
18.
<receiver>
Mendeklarasikan
penerima broadcast (sebuah subclass BroadcastReceiver)
sebagai satu dari komponen aplikasi.
19.
<service>
Mendeklarasikan sebuah
layanan (subclass Service) sebagai satu dari komponen
aplikasi. Semua layanan harus bisa menyediakan elemen <service>
dalam file manifest.
20.
<supports-gl-texture>
Mendeklarasikan format
teksture GL kompresi tunggal yang di dukung oleh aplikasi. Sebuah aplikasi “support” format teksture GL kompresi
jika itu mampu memberikan asset tekstur yang dikompresi dalam format tersebut
setelah aplikasi diinstal dalam perangkat.
21.
<supports-screens>
Menentukan ukuran layar
dari aplikasi pendukung dan memungkintakan screen
compatibility mode untuk layar besar daripada aplikasi pendukung.
22.
<uses-configuration>
Mengindikasi fitur
perangkat keras dan perangkat lunak dari kebutuhan aplikasi.
23.
<uses-feature>
Mendeklarasikan fitur
tunggal perangkat keras dan perangkat lunak yang digunakan oleh aplikasi.
Tujuan umum dari deklarasi <uses-feature> adalah untuk
informasi entitas eksternal dari fitur perangkat keras dan perangkat lunak yang
tergantung pada aplikasi.
24.
<uses-library>
Menentukan spesifikasi
library yang dibagi dari aplikasi saling berhubungan. Elemen ini memberitahu
sistem untuk memasukkan code library dalam
class loader untuk paket.
25.
<uses-permission>
Meminta izin dari
aplikasi untuk beroperasi dengan benar. Hak akses yang diberikan oleh pengguna
saat aplikasi diinstal, bukan bersifat sementara saat berjalan.
26.
<uses-sdk>
Mengekspresikan kompatibilitas
aplikasi dengan satu atau lebih versi dari platform android, melalui sebuah API
level integer. Level API diungkapkan oleh aplikasi akan dibandingkan ke level
API yang diberikan oleh sistem android, yang mungkin berbeda diantara perangkat
android lainnya.
Sumber : http://developer.android.com/guide/topics/manifest/manifest-intro.html
irzavika
Apa itu AndroidManifest.xml?
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

























