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:
  1. Menamai paket Java untuk aplikasi. Nama paket berfungsi sebagai identifikasi unik untuk aplikasi
  2. Mendeskripsikan komponen-komponen aplikasi (aktivitas-aktivitas, servis-servis, penerima broadcast, dan penyedia konten aplikasi)
  3. Menentukan proses mana yang akan menjalankan komponen-komponen aplikasi 
  4. Mendeklarasikan hak akses mana yang harus dimiliki aplikasi untuk mengakses bagian-bagian API yang terproteksi dan untuk berinteraksi dengan aplikasi lainnya. 
  5. Mendeklarasikan hak akses yang perlu dimiliki oleh aplikasi lain untuk berinteraksi dengan komponen-komponen aplikasi 
  6. 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 
  7. Mendeklarasikan tingkat minimum dari API android yang dibutuhkan aplikasi 
  8. 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.


{ 1 comments... read them below or add one }

- Copyright © 2013 Laboratorium Pemrograman dan Basis Data -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -