Sub Activity Android dengan Eclipse | mahanani

Sub Activity Android dengan Eclipse

Baca Juga :

Dalam materi sebelumnya, selalu digunakan satu activity (satu form). Tentu saja sebuah applikasi sering membutuhkan multi acitivity. Sebagai contoh, misalnya kita akan membuat sebuah aplikasi matematika sederhana. Applikasi ini menyediakan menu yang berisi pilihan untuk menghitung luas segiempat dan luas segitiga.

Rancangan layarnya sebagai berikut.

clip_image002

Pertama kita akan membuat form utama terlebih dulu yang memiliki dua menu. Berikut deklarasi XML form main.

clip_image004

Dengan hasil sebagai berikut:

clip_image006

Selanjutnya kita akan membuat form kedua untuk menghitung luas segitiga. Klik layout di package Explorer lalu klik kanan-->> New atau File -->> New -->> Other (Ctrln-N). Pilih Android XML File.

clip_image007

Beri nama file segitiga

clip_image009

dengan root TableLayout

clip_image010

Buat form untuk menerima input dari user dan menampilkan keluaran

clip_image012

Deklarasi XML-nya adalah sebagai berikut (perhatikan penggunaan atribut android:numeric=integer|decimal agar teks hanya menerima nilai integer atau desimal):

clip_image014

Selanjutnya, kita akan membuat program untuk menghitung luas segitiga. Klik package, lalu klik kanan -->> New -->> Class

clip_image016

Beri nama Segitiga, dan merupakan turunan dari android.app.Activity

clip_image018

Set layout yang digunakan (R.layout.segitiga) dan implementasi saat button diklik.

clip_image020

Selanjutnya adalah menghubungkan menu utama dengan modul menghitung segitiga ini.

clip_image024clip_image022 

Intent dapat digunakan untuk memanggil activiy lain. Intent adalah request dari satu activity ke activity atau intent listener lain. Agar dapat dipanggil, kita harus menambahkan intent ke AndroidManifest.xml.

clip_image025

Intent dapat digunakan untuk memanggil activiy lain. Intent adalah request dari satu activity ke activity atau intent listener lain. Intent juga digunakan untuk notifikasi event misalnya SD card dimasukkan, SMS masuk, activiy dijalankan dst

Penting: agar activity hitung luas segitiga dapat dipanggil, kita harus menambahkan activity ini ke AndroidManifest.xml.

clip_image027

Sekarang kembali ke Main.Java, tambahkan pada method segitigaClick intent berisi permintaan untuk menjalankan activity segitiga dan jalankan dengan startActivity.

clip_image028

Pada contoh diatas digunakan startActivity untuk memanggil sub activity. Tidak ada notifikasi apakah subactivity sudah selesai atau belum dan terkadang kita juga membutuhkan data dari subactivity. Untuk hal tersebut, dapat digunakan startActivityForResult.

Perlu penjelasan yang agak panjang untuk mencoba startActivityForResult. Buatlah sebuah project baru. Pada form Main, tambah satu button yang jika diklik akan memanggil sub activity dan mengirimkan data.

clip_image030

Kemudian kita buat form sub activity-nya. Klik kanan di layout -->> New -->> Other -->> Android XML File, beri nama sub.xml

Form-nya seperti berikut, TextView akan menampilkan kiriman data dari form utama,

clip_image031

Potongan XML-nya adalah sebagai berikut:

clip_image033

Sekarang kita membuat Sub.java. Klik kanan dibagian package (misal edu.upi.cs) -->> New -->> Class. Beri nama Sub, dan isi superclass dengan android.app.Activity.

Jangan lupa ganti parameter setContentView dengan .sub.

onStart adalah method yang dipanggil setelah onCreate dan activity telah ditampilkan. Isi method ini dengan menampilkan isi data yang dikirimkan program utama.

clip_image036

Sekarang kita kembali ke main.java, gunakan method putExtra untuk menambahkan data ke intent. Pada startActivityForResult terdapat parameter angka 99 (silahkan ganti dengan angka atau konstanta apapun). Ini 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.

clip_image038

Jangan lupa mendaftarkan sub activity di AndroidManifest.xml

clip_image041

Test program, maka subactivty akan menampilkan data yang dikirim dari form utama.

clip_image043

Catatan: Jika terjadi force close, ada kemungkinan activity belum ditambahkan di AndroidManifest.xml

Pada program diatas, anda telah berhasil mengirimkan data ke sub activity. Sekarang kita akan membuat sebaliknya, data dari sub activy akan dikirim ke form utama. Kita akan memodifikasi program diatas sbb:

Pada main.xml, tambahkan TextView untuk menampilkan hasil dari sub activity, beri id tvHasilSub.

clip_image045

Lalu pada main.java, lengkapi method onActivityResult. Pada method ini, diterima dan diproses hasil dari sub activity.

clip_image047

Kemudian untuk subactivitynya sendiri, tambahkan Button yang diklik saat pengguna telah selesai dengan subactivity. Edit sub.xml sebagai berikut

clip_image049

clip_image050

Implementasikan method saat Button selesai diklik di sub.java

clip_image051

Jalankan program, setelah subactiviy ditutup, maka di program utama akan muncul kiriman data dari sub activity

clip_image052

ditulis dengan judul : Sub Activity Android dengan Eclipse

1 comment
3 Februari 2016 pukul 22.27

jadi ini sebenernya bikin apliaksi penghitung luas segitiga dan segi empat, atau membuat sub activity?

Posting Komentar

Silahkan berikan komentar anda

Forum Multimedia Edukasi www.formulasi.or.id
Forum Multimedia Edukasi www.formulasi.or.id

Kategori