Untuk membuat sebuah activity, kita harus membuat sebuah subclass dari Activity
(atau subclass yang sudah ada). Dalam subclass yang dibuat, kita harus mengimplementasikan metode pemanggilan kembali yang akan dipanggil sistem pada saat transisi antar state (keadaan) yang bervariasi dari siklus hidupnya, misalnya ketika activiti sedang dibuat, dihentikan, dikembalikan, atau dihancurkan.
Metode pemanggilan kembali yang paling penting ada dua, yaitu:
onCreate()
setContentView()
untuk mendefinisikan layout dari user interface activity.onPause()
Implementasi user interface
User interface untuk sebuah activity disediakan oleh sebuah hierarki views (tampilan-tampilan)--yaitu obyek yang diturunkan dari class View
. Setiap view mengatur area tertentu dalam window activity dan bisa merespon interaksi dari user. Contohnya, sebuah view bisa saja berupa tombol yang memulai sebuah aksi bila menyentuhnya.
Android menyediakan beragam view siap pakai yang bisa digunakan untuk mendesain dan mengatur layout. "Widget" adalah view yang menyediakan elemen visual (dan interaktif) untuk layar, mislanya, tombol, text field, checkbox, atau sebuah gambar. "Layout" adalah view yang diturunkan dari ViewGroup
yang menyediakan model layout unik untuk turunan view, misalnya sebuah linear layout, grid layout, atau relative layout. Kita juga bisa membuat subclass di class View
dan ViewGroup
(atau menggunakan subclas yang sudah ada) untuk membuat widget dan layout kita sendiri dan menerapkannya ke dalam layout activity kita.
Cara paling umum untuk mendefinisikan sebuah layout menggunakan view adalah dengan sebuah file layout XML yang disimpan dalam sumber daya aplikasi. Dengan cara ini, kita bisa mempertahankan dan merawat desain dari user interface kita terpisah dari source code yang mendefinisikan tingkah laku dari activity. Kita bisa men-setting layout tersebut sebagai User Interface untuk activity kita dengan menggunakan setContentView()
, dengan mengoperkan ID sumberdaya (resource ID) dari layout tersebut. Kita juga bisa membuat View
dalam kode activity kita dan membuat sebuah hierarki tampilan dengan memasukan View
baru ke dalam ViewGroup
, kemudian menggunakan layout itu dengan mengoperkan ViewGroup
teratas ke setContentView()
Mendeklarasikan activity di AndroidManifest.xml
Agar activity bisa diakses oleh sistem, kita harus mendeklarasikan activity tersebut di file AndroidManifest.xml. Untuk mendeklarasikan activity, buka file AndroidManifest.xml dan tambahkan elemen <activity>
sebagai "anak" dari elemen <application>
. Perhatikan contoh berikut:
<manifest ... >
<application ... >
<activity android:name=".ContohActivity" />
...
</application ... >
...
</manifest >
Ada beberapa atribut lain yang bisa kita masukan dalam elemen ini, misalnya sebagai label untuk activity, icon untuk activity, atau tema untuk memperindah user interface activity. Atribut android:name
adalah satu-satunya atribut yang harus ada. Atribut ini menunjukan nama class dari activity. Jika kita telah mem-publish aplikasi kita, kita tidak boleh merubah nama activity ini, karena jika kita rubah, bisa merusak beberapa fungsi pada aplikasi. Misalnya shortcut aplikasi.
Menggunakan intent filter
Sebuah elemen <activity>
juga bisa memberikan keterangan mengenai intent-filter, yaitu keterangan mengenai bagaimana komponen dari aplikasi lain bisa mengaktifkan activity ini. Keterangan mengenai intent-filter ditulis di dalam elemen &lr;intent-filter>
.
Ketika kita membuat sebuah aplikasi baru menggunakan Android SDK tools, potongan activity yang dibuatkan untuk kita secara otomatis memasukan sebuah intent filter yang mendekalrasikan respon activity terhadap "main action" dan harus ditempatkan di kategori "launcher". Intent filter tersebut terlihat seperti berikut:
<activity android:name=".ContohActivity" android:icon="@drawable/icon_aplikasi" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Elemen <action>
memberikan keterangan bahwa ini adalah pintu masuk utama ("main") ke dalam aplikasi. Elemen <category> memberikan keterangan bahwa activity ini harus dimasukan ke dalam daftar peluncur aplikasi (application launcher) milik sistem agar user bisa menjalankan / meluncurkan aplikasi ini.
Jika kita menginginkan agar aplikasi kita tertutup dan tidak bisa diaktifksn oleh aplikasi lain, maka kita tidak membutuhkan intent filter lain. Hanya satu activity yang boleh memiliki "main action" dan "launcher category" , seperti pada contoh sebelumnya. Activity-activity yang tidak ingin kita buka terhadap aplikasi lain, tidak perlu menerapkan intent-filter, dan kita bisa memnjalankan activity tersebut dengan eksplicit intent.
Namun bagaimanapun, jika kita ingin activity kita merespon terhadap intent yang tersirat (implicit intent) yang dikirimkan oleh aplikasi lain (atau aplikasi kita sendiri), maka kita harus mendefinisikan intent filter tambahan ke dalam activity kita. Untuk setiap tipe intent yang ingin kita respon, kita harus memasukan sebuah <intent-filter>
yang di dalamnya mengandung elemen <action>
, elemen <category>
(optional), dan atau elemen <data>
. Elemen-elemen tersebut memberikan keterangan tentang jenis dan tipe intent yang bisa direspon activity kita.
Tweet
Tidak ada komentar:
Posting Komentar