Cara Mengirim Data Antar Intent

written by Arief Bayu Purwanto on May 29, 2012 in Tutorial with no comments

Setelah sekian minggu hiatus sekarang saya kembali dengan tutorial baru. Masih seputar android. Tutorial kali ini akan menunjukkan bagaimana caranya mengirim dan menerima parameter antar Activity yang dilakukan melalui mekanisme Intent.

Proses pengiriman data antar Activity pada android, bisa dilakukan dengan mekanisme Intent. Sebagai Contoh, apabila ingin mengirim data dari Activity induk ke Activity baru, kita akan menggunakan mekanisme Context.startActivity() atau Activity.startActivityForResult(). Contohnya:

Intent i = new Intent(MainActivity.this, CheckActivity.class);
i.putExtra("menu", getSelectedCheck());
startActivityForResult(i, REQUEST_CODE_CHECK);

Kode di atas akan membuka Activity CheckActivity dan mengirimkan parameter menu. Kemudian, untuk membaca parameter yang dikirim di CheckActivity, kita gunakan kode sebagai berikut (lakukan di code Activity yang dipanggil (dalam hal ini, CheckActivity)):

getIntent().getExtras().getString("menu")

Setelah bisa mengirim, sekarang saya akan jelaskan bagaimana cara menerima parameter dari Activity yang dipanggil, ke Activity pemanggil. Caranya, berikan kode berikut pada Activity yang dipanggil (CheckActivity):

getIntent().putExtra("selected_menu", getSelectedCheck());
setResult(RESULT_OK, getIntent());
finish();

Sedikit penjelasan untuk kode di atas, setResult() digunakan untuk mengatur hasil dari suatu Activity (yang dipanggil melalui mekanisme Intent). Sedangkan finish() digunakan untuk menandakan kalau Activity yang dipanggil ini, sudah selesai.

Setelah kita mengatur parameter dan nilai kembalian, kita kembali ke Activity pemanggil untuk membaca hasilnya. Proses ini dilakukan pada method onActivityResult(). Kodenya seperti ini:

if(requestCode == REQUEST_CODE_CHECK && resultCode == RESULT_OK){
	text1.setText("Choosed " + data.getExtras().getString("selected_menu") + " for " + data.getExtras().getString("menu") + " menu");
}

Cukup simpel dan straighforward. Saya sudah siapkan contoh aplikasi untuk yang malas membaca dan ingin langsung coba-coba. Silahkan didownload.