Pemrograman Mobile 6
Pemrograman Mobile 6
Mobile
Programming
Untuk menghubungkan antar activity dapat digunakan intent. Intent adalah fasilitas untuk
menghubungkan satu activity ke activity yang lain, baik untuk app yang sama maupun app yang
berbeda. Intent juga digunakan untuk notifikasi event misalnya SD card dimasukkan, SMS masuk dan
lain-lain.
Untuk lebih memahami activity dan intent, sekarang coba buka salah satu app android yang telah dibuat
sebelumnya, lalu pada project explorer pilih AndroidManifest.xml. File XML ini berisi property aplikasi,
termasuk di dalamnya activity dan intent.
Lihat tag activity, dapat dilihat ada satu activity dengan property nama dan label.
Selain itu ada tag intent-filter yang digunakan untuk memfilter intent yang dapat dihandle activity.
android.intent.categori.LAUNCHER menyatakan activity ini adalah initial activity yang dapat dipanggil
langsung oleh launcher sedangkan intent.action.MAIN menyatakan activity ini adalah initial activity
tanpa data input dan tidak menghasilkan output.
Sekarang kita akan membuat contoh app yang memiliki dua activity.
Pertama buat project baru. Kemudian langsung buat activity kedua, caranya buat class baru: di project
explorer klik package, klik kanan New Class. Beri nama class ini ActivityDua dan pastikan
superclass kelas ini adalah android.app.Activity (gambar bawah)
Sekarang kita perlu menambahkan activity ini di AndroidManifest.xml. Isi atribut name dengan nama
class lengkap dengan nama package dan label.
Penting: Tanpa menambahkan activity ke dalam AndroidManifest.xml, akan terjadi force close saat
program dijalankan.
Sekarang kembali ke activity utama (MainActivity), tambahkan button di activity_main.xml, isi atribut
onClick dengan clickButton. Buat implementasi method clickButton sebagai berikut, perhatikan
pengunaan class Intent:
Dari kode diatas dapat dilihat bahwa intent merupakan struktur data (objek) yang ‘dilempar’ sebagai
paramater ke method startActivity.
Jika program dijalankan hasilnya akan seperti ini. Terlihat label pada ActivityDua yang disimpan di dalam
AndroidManifest.xml akan menjadi title.
Terlihat ActivityDua masih polos tanpa layout. Sekarang kita akan membuat layout untuk activity
tersebut. Ini mirip saat membuat layout baris pada ListView.
Untuk membuat file layout, pilih project di project explorer, klik kanan, AndroidTools New Resources
File. Pilih resource type “Layout”. Beri nama file activity_dua.xml, pilih root element LinearLayout
(gambar bawah)
Tambahkan widget Large Text ke dalam layout, beri nama tvDua dan save.
Sekarang kita perlu meload layout ini saat activity kedua dijalankan. Buka class ActivityDua dan
tambahkan kode dibawah dan coba jalankan.
Pada MainActivity, ubah kode sebagai berikut, perhatikan method putExtra untuk menambahkan data
yang akan dikirim.
Sedangakan di ActivityDua tambah kode sebagai berikut untuk menerima data. Method onStart ini akan
otomatis dipanggil saat activity mulai dijalankan setelah onCreate. Coba jalankan kembali app ini.
Sebagai contoh, kita akan membuat activity yang memanggil activity lain, pengguna mengisi data pada
activity tersebut dan mengirimkannya kembali ke activity utama. Kita akan memodifikasi program
sebelumnya.
Catatan: jika anda mau program sebelumnya tidak hilang anda dapat menduplikasi project dengan
mencopy-paste project tersebut pada package explorer.
Sekarang kita kembali ke activity utama MainActivity, gunakan method putExtra untuk menambahkan
data ke intent. Pada startActivityForResult terdapat parameter angka 99 (silahkan ganti dengan angka
atau konstanta apapun). Paremeter ini diperlukan karena satu activity bisa mengirimkan banyak intent
dan diperlukan cara untuk membedakan antara satu intent dengan intent yang lain.
Method onActivityResult akan dipanggil saat activity yang dipanggil telah selesai.
Selanjutnya kita akan menambahkan widget editText pada activity dua yang dapat diedit oleh pengguna
dan hasilnya akan dikirimkan kembali ke activity utama. Buka res/layout/activity_dua.xml. Tambakan
satu editText dan satu button. Beri nama etNama dan tambahkan android:onClick="clickButtonActDua"
di button.
Sekarang kita akan membuat kode di activitydua yang akan mengisi editText dengan data yang dikirim
dari activity utama dan setelah button ditekan mengirimkan hasil update ke activity utama. Buka file
ActivityDua.java dan tambahkan kode berikut:
Jika dijalankan hasilnya sebagai berikut
Praktikum
Latihan Activity-Intent
Menggunakan listview (layar1), tampilkan daftar nama mahasiswa. Pengguna dapat men-tap nama
(baris), dan kemudian app akan menampilkan informasi yang lebih detil berisi NIM, NAMA, ALAMAT dan
NOHP (layar2). Pada layar informasi detil (layar2) tersebut ada button “EDIT” yang jika diklik akan
membawa ke layar ketiga yang berisi editText untuk mengupdate data. Hasil update akan muncul baik di
layar1 dan layar2.
Daftar Pustaka
1. (2013). Retrieved 03 28, 2014, from http://developer.android.com/training/basics/activity-
lifecycle/stopping.html.
2. Burd, B. (2012). Android Application Development All-in-One For Dummies. For Dummies.