Jan 7, 2013

Komunikasi Intent

hmm.. untuk kali ini saya akan menuliskan ttg masalah yang saya sempat saya hadapi kemarin (sekalian sebagai catatan, kan biar sesuai dengan judul blog ini :D ), tapi bukan keseluruhan kasusnya, tapi cuma tentang komunikasi (passing - receive data) antar activity melalui Intent.

utk contoh di postingnya juga ga terlalu rumit, ya biar tau dan bisa lebih inget ttg konsepnya, kebetulan juga saya orangnya pelupa (kata istri saya sih sudah tahap keterlaluan :D).  

OK. Lanjut ke posting utamanya :D, buat dulu project di Eclipse, oya, untuk kasus yang ini akan menggunakan dua activity dan dua layout. Berikut adalah layout lengkap projectnya


ow.. sedikit lewat, Intent it apa ya?? di halaman http://developer.android.com/reference/android/content/Intent.html diberikan penjelasan sbb

An intent is an abstract description of an operation to be performed. It can be used with startActivity to launch an Activity, broadcastIntent to send it to any interested BroadcastReceiver components, and startService(Intent) or bindService(Intent, ServiceConnection, int) to communicate with a background Service. 
An Intent provides a facility for performing late runtime binding between the code in different applications. Its most significant use is in the launching of activities, where it can be thought of as the glue between activities. It is basically a passive data structure holding an abstract description of an action to be performed.

wah.. masi bingung?? pada halaman http://agusharyanto.net/wordpress/?p=537 diberikan penjelasan singkat ttg Intent sbb
intent itu adalah sebuah object yang merupakan kunci untuk berkomunikasi dengan activity lainnya.
 lanjut.. Intent, menurut http://www.vogella.com/articles/AndroidIntent/article.html dibagi menjadi dua, yaitu :
  1. Implicit Intent : intent yang penggunaannya untuk memanggil fungsi yang sudah terdapat di internal Android
  2. Explicit Intent : intent yang penggunaannya untuk memanggil activity yang lain
nah, untuk postingan ini merupakan implementasi dari penggunaan explicit intent. Lanjut, setelah tadi membuat projectnya, akan terdapat tiga file utama yang akan kita ubah nanti, dan akan ada perbedaan nama file dari layout project pada gambar diatas dengan project yang dibuat, ga ada masalah kok, klo bingung ini penjelasannya :
  1. MainActivity.class adalah IntentActivity.class
  2. acticity_main.xml adalah acticity_intent.xml
  3. AndroidManifest.xml
nah, lalu buat class HitungBilangan.class dan ketikkan kode berikut
class diatas digunakan untuk mengolah nilai yang dipassing dari parent-activity dan untuk me-return hasil dari pengolahan nilai yang dikirim. Untuk layout dari class ini, buat file hitung_bilangan.xml pada package /res/layout dan ketikkan kode berikut

pada class IntentActivity.class atau MainActivity.class ketikkan kode berikut
class diatas gunanya untuk menerima dan mem-passing nilai dari user yang akan di olah di HitungBilangan.class dan untuk menerima result dari sub-activity. Lalu, untuk layoutnya ada pada file activity_intent.xml dan berikut adalah kodenya
satu lagi hal yagn harus dilakukan adalah menambahkan nama activity pada file AndroidManifest.xml. Tambahkan baris berikut
pada file tersebut di dalam tag . Nah, setelah itu running kodenya, hasilnya adalah sbb 


gambar diatas adalah hasil running dari kode yang sudah dibuat, ini adalah tampilan dari file activity_intent.xml. Lalu masukkan bilangan pada baris yang ada, setelah itu klik tombil hitung yang ada dibawahnya, hasilnya adalah gambar berikut


Gambar diatas adalah gambar dari file hitung_bilangan.xml, dimana dapat kita lihat pada gambar tersebut, nilai yang kita inputkan pada halaman sebelumnya beserta hasil dari penjumlahan kedua bilangan tersebut. Pada bagian bawah dari halaman tersebut, terdapat tombol klik yang akan mengembalikan tampilan kembali pada halaman sebelumnya serta akan memunculkan informasi hasil penjumlahan yang sudah dilakukan. Hasilnya adalah sbb :



*** Hanya Sekedar Catatan ***
***      Biar Ga Lupa     ***

referensi :
http://developer.android.com/reference/android/content/Intent.html
http://www.vogella.com/articles/AndroidIntent/article.html
http://agusharyanto.net/wordpress/?p=537
http://teknonesia.com/2012/06/cmembuat-explicit-intent-di-android/
http://mobileorchard.com/android-app-development-using-intents-to-pass-data-and-return-results-between-activities/

Catatan Terkait:

1 comment: