Android SDK: Project Manifest
() translation by (you can also view the original English article)
Dalam rangkaian tutorial ini kita belajar tentang pengembangan Android dari awal dan berkenalan dengan konsep dasar dan praktik yang perlu Anda ketahui untuk mulai bekerja di platform. Sejauh ini kami telah melihat berbagai bagian dari proyek Android, termasuk resources. Dalam tutorial ini, kita akan menjelajahi file project manifest.
pengantar
Manifest untuk proyek dapat sederhana atau sangat kompleks tergantung pada apa yang dilakukan aplikasi. Kita akan melihat bagian-bagian dari manifest yang perlu Anda ketahui tentang semua aplikasi dan akan memeriksa bagian-bagian opsional yang Anda perlukan untuk proyek-proyek mendatang.
File manifest dapat berisi banyak elemen dan atribut. Lihat Panduan Pengembang Android untuk tautan ke semuanya. Manifes melayani beberapa tujuan. Ini menentukan paket aplikasi, memberikan deskripsi formal dari komponen aplikasi, dan menyatakan izin, tingkat API yang diperlukan, dan pustaka yang terhubung. Kita hanya akan berjalan melalui elemen dan atribut yang paling penting yang dapat Anda cantumkan dalam manifes, jadi sadarilah bahwa lebih banyak elemen dimungkinkan dan mungkin ada atribut tambahan yang dapat Anda gunakan dengan elemen yang kita lindungi.
1. Elemen Manifes
Di Eclipse, buka file manifest proyek Anda. Anda akan selalu menemukan manifest di direktori root proyek. Seperti yang kita lihat sebelumnya, Anda dapat melihat manifest dalam beberapa cara. Di bagian bawah area editor Anda akan melihat tab untuk Manifest, Aplikasi, Permissions, Instrumentation, dan kode XML. Silahkan lihat sekilas ini sekarang. Kita akan menggunakan kode XML, jadi beralihlah ke tab 'AndroidManifest.xml'.



Elemen yang muncul di file manifest awalnya telah diisi oleh Eclipse ketika Anda membuat proyek. Ini hanya cukup untuk kebutuhan aplikasi yang sangat sederhana, dalam banyak kasus Anda perlu menambahkan ke manifest
saat Anda membangun proyek Anda. Elemen root dalam file adalah elemen manifes:
1 |
<manifest xmlns:android="http://schemas.android.com/apk/res/android" |
2 |
package="com.example.myfirstapp" |
3 |
android:versionCode="1" |
4 |
android:versionName="1.0" > |
5 |
</manifest>
|
Eclipse mengisi atribut elemen manifest
dengan nama paket yang Anda pilih saat membuat proyek. Kode versi dan nama ditetapkan ke 1 dan 1.0 pada awalnya. Saat Anda merilis aplikasi ke Play store, kemudian merilis pembaruan berikutnya, Anda perlu memperbarui nomor ini untuk setiap rilis baru. Nama versi adalah apa yang dilihat pengguna saat aplikasi Anda terdaftar di Play store, sehingga Anda dapat menggunakan versi penamaan versi mana pun yang Anda suka. Kode versi tidak dilihat oleh pengguna, dan harus merupakan angka yang lebih tinggi untuk setiap rilis, meskipun tidak harus bertambah satu setiap kali. Jika Anda mencoba mengunggah versi baru aplikasi ke Google Play dan kode versi tidak lebih tinggi dari versi saat ini, Play tidak akan mengizinkan unggahan.
2. Menggunakan Elemen SDK
Pertama di dalam elemen manifest
Anda harus melihat elemen uses-sdk
:
1 |
<uses-sdk
|
2 |
android:minSdkVersion="8" |
3 |
android:targetSdkVersion="18" /> |
Elemen atribut menentukan tingkat API minimum yang diperlukan, serta tingkat target Anda berencana untuk pengujian terhadap proyek . Ingat bahwa kami memilih nilai-nilai ini ketika kami membuat aplikasi. Anda dapat mengubahnya dalam manifest setelah pembuatan proyek jika perlu. Sebagai contoh, Anda mungkin menemukan bahwa Anda perlu menggunakan beberapa aspek dari platform yang tidak tersedia pada tingkat API yang Anda pilih. Jika Anda mengubah versi SDK, Eclipse akan membangun kembali proyek Anda.
Pengguna dengan perangkat yang menjalankan tingkat API lebih rendah dari jumlah minimum yang ditentukan tidak akan dapat mengunduh dan menginstal aplikasi Anda. Mendata tingkat API sebagai target adalah indikator bahwa Anda telah menguji aplikasi pada versi itu. Untuk diandalkan, Anda harus menguji level API aplikasi Anda sebanyak mungkin.
3. aplikasi elemen
Eclipse juga memasukkan elemen aplikasi
di manifes Anda. Elemen berisi elemen anak yang akan kita lihat berikutnya. Untuk saat ini, mari kita lihat pada tag pembuka:
1 |
<application
|
2 |
android:allowBackup="true" |
3 |
android:icon="@drawable/ic_launcher" |
4 |
android:label="@string/app_name" |
5 |
android:theme="@style/AppTheme" > |
Atribut utama yang perlu diperhatikan adalah ikon, label, dan item tema. Elemen dapat mengambil banyak atribut tambahan. Atribut ikon menunjukkan file di drawable aplikasi. Ikon Android default dipilih, tetapi Anda dapat menambahkan file ikon Anda sendiri dan mereferensikannya di sini. Ikon label mereferensikan string juga di sumber daya aplikasi. Buka file XML 'res / values' string. Anda akan melihat string yang direferensikan terdaftar sebagai berikut:
1 |
<string name="app_name">MyFirstApp</string> |
Ini harus berupa string yang dapat dibaca karena ditampilkan kepada pengguna di berbagai tempat termasuk menu perangkat, di sebelah ikon peluncur. Anda biasanya ingin mengubah string, mungkin untuk menyertakan spasi: 'Aplikasi Pertama Saya'.
Kembali ke file manifes Anda, perhatikan atribut tema elemen aplikasi
. Sekali lagi, ini referensi sumber daya, Anda akan menemukannya di file XML 'res / nilai' gaya, jadi lihat di sana sekarang. Beralih kembali ke nyata lagi. Jika Anda kemudian memutuskan untuk mendefinisikan gaya aplikasi Anda sendiri, Anda bisa referensi mereka dalam atribut tema.
4. Activity Element
Di dalam elemen aplikasi
, Anda akan melihat elemen activity
untuk kelas Aktivitas utama yang Anda buat saat memulai proyek. Elemen activity
ini juga mengandung elemen anak yang akan kita lihat berikutnya. Lihatlah tag pembuka terlebih dahulu:
1 |
<activity
|
2 |
android:name="com.example.myfirstapp.MainActivity" |
3 |
android:label="@string/app_name" > |
Atribut name mereferensikan kelas menggunakan lintasan yang sepenuhnya memenuhi syarat dalam paket aplikasi. Label memungkinkan Anda untuk mengontrol apa yang tampak sebagai judul jendela saat Activity berada di layar. Secara default sama dengan nama aplikasi sehingga Anda dapat membiarkannya seperti dalam banyak kasus.
Seiring aplikasi Anda menjadi lebih kompleks, Anda akan menambahkan lebih banyak Aktivitas kepada mereka, satu untuk setiap layar di UI. Setiap kali Anda menambahkan kelas Aktivitas baru ke aplikasi Anda, Anda perlu menambahkan elemen untuknya di dalam elemen aplikasi
, seperti dalam contoh berikut:
1 |
<activity android:name=".About" > |
2 |
</activity>
|
Seperti yang Anda lihat, Anda tidak selalu harus menyertakan nama paket lengkap. Bentuk singkat di atas akan berfungsi selama kelas Aktivitas (bernama 'About') ada dalam paket yang ditentukan dalam elemen manifes
. Elemen aktivitas dapat mengambil banyak atribut yang menentukan bagaimana pengguna dapat berinteraksi dengan mereka.
5. Intent Filters
Di dalam elemen activity
utama, Anda akan melihat elemen intent-filter
:
1 |
<intent-filter>
|
2 |
<action android:name="android.intent.action.MAIN" /> |
3 |
<category android:name="android.intent.category.LAUNCHER" /> |
4 |
</intent-filter>
|
Filter Intent menggambarkan apa yang dimaksud oleh Intents the parent activity
. Di Android, Intent adalah objek data yang dilewatkan ke Aktivitas saat dimulai. Ketika Anda meluncurkan satu Aktivitas dari yang lain dalam aplikasi Anda, Anda akan menggunakan Intents, tetapi mereka juga dapat dilewatkan di antara aplikasi.
Filter Intent untuk activity
utama menunjukkan bahwa itu harus dimulai ketika aplikasi diluncurkan. Ini dilakukan dengan menggunakan elemen action
, yang mencantumkan tindakan "MAIN" . Elemen category
mendeskripsikan Filter Intent berdasarkan nama kategori, dalam hal ini "LAUNCHER". Kedua hal ini bersama-sama menentukan bahwa aplikasi Anda harus menggunakan Activity sebagai titik masuk utama, dan bahwa titik masuk ini harus digunakan ketika aplikasi diluncurkan.
Filter Intent dapat berisi banyak elemen anak, termasuk spesifikasi data. Untuk informasi lebih lanjut, lihat bagian Intent and Intent Filters di Panduan Pengembang Android. activity
elemen dapat berisi elemen anak tambahan bersama intent-filter
seperti metadata
, yang dapat menentukan pasangan nama-nilai data item.
6. Uses Permission
Kami telah melihat semua elemen manifes yang dicakup Eclipse saat Anda membuat proyek. Sekarang mari kita lihat beberapa yang mungkin Anda perlukan dalam proyek-proyek masa depan. Elemen uses-permission
memungkinkan Anda meminta izin untuk aplikasi Anda untuk melakukan hal-hal tertentu yang harus diberikan izin oleh pengguna. Saat pengguna melihat aplikasi Anda di Play store, permissions akan ditampilkan kepada mereka sebelum mengunduh aplikasi. Jika mereka memilih untuk melanjutkan, mereka harus menerima permissions agar aplikasi Anda dapat berjalan.
Izin yang harus Anda minta dalam manifes termasuk menggunakan data Internet, menulis ke penyimpanan eksternal, dan mengakses fitur perangkat seperti kamera. Contoh berikut menunjukkan konsep ini:
1 |
<uses-permission android:name="android.permission.INTERNET" /> |
Ada beberapa izin potensial yang dapat diminta aplikasi Anda. Lihat halaman Manifest.permission pada referensi API.
7. User Devices
Berbagai elemen manifes dapat digunakan untuk mendeskripsikan perangkat keras dan fitur perangkat lunak yang diperlukan untuk suatu aplikasi. Ini termasuk elemen menggunakan konfigurasi, di mana Anda dapat menentukan persyaratan untuk navigasi, keyboard, dan opsi layar sentuh. Dalam elemen uses-feature
, Anda dapat mencantumkan satu fitur yang diperlukan baik dalam perangkat keras atau perangkat lunak, menggunakan nama fitur dan bendera Boolean. Fitur-fitur ini termasuk Bluetooth dan opsi kamera seperti flash, deteksi lokasi, dan sensor. Elemen supports-screens
memungkinkan Anda menentukan ukuran layar yang didukung oleh aplikasi Anda, menentukan atribut yang terkait dengan ukuran dan kepadatan.
8. Other Elements
Elemen yang kami jelajahi kemungkinan besar akan digunakan untuk aplikasi awal Anda. Namun, ada elemen lain yang digunakan dalam berbagai jenis aplikasi. Proyek awal yang kami buat adalah untuk aplikasi standar yang diluncurkan melalui menu pengguna dan menampilkan satu atau beberapa layar Aktivitas kepada pengguna. Jenis aplikasi lainnya termasuk widget dan aplikasi yang menjalankan proses latar belakang yang sedang berlangsung, penanganan akses data, dan menerima pengumuman sistem.
Aplikasi yang menggunakan pemrosesan latar belakang biasanya melakukan ini menggunakan kelas Layanan di Android. Ini membutuhkan daftar elemen service
dalam manifes, satu untuk setiap kelas Layanan seperti dengan Aktivitas. Penyedia Konten di aplikasi Android bertanggung jawab untuk mengelola akses ke sumber data. Ini terdaftar menggunakan elemen provider
. Akhirnya, elemen receiver
tercantum dalam file manifes jika aplikasi ingin menerima Intents dari aplikasi lain atau dari sistem itu sendiri.
Kesimpulan
Kami telah membahas fitur penting dari file manifes di aplikasi Android. Setiap kali Anda membuat aplikasi, Eclipse mengisi file dengan elemen-elemen utama yang Anda butuhkan untuk memulai. Saat Anda membangun fungsionalitas ke dalam aplikasi, Anda akan terus menambahkan konten ke manifes untuk memastikan aplikasi secara keseluruhan dapat berfungsi. Saat Anda mengalami masalah saat menjalankan aplikasi di perangkat yang sebenarnya atau virtual selama pengembangan, ini kadang-kadang disebabkan oleh elemen yang hilang di manifes. Di bagian selanjutnya dari seri ini, kita akan melihat bagaimana aplikasi Android menyimpan dan mengakses data.