Cara Mengirim Data Antar Intent

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.


Author: Arief Bayu Purwanto

Hello, my name is Arief Bayu Purwanto, a 24 years old father of a beautiful daughter. Interested in online programming, linux, games, and reading. Currently working on kapanlagi.com as junior developer. I live in a relatively quite and cool place called Malang. I'm available for some freelance stuff as well as some consulting job. You can see my portofolio for some previous task I've finished and some other information related to my capability. Btw, I'm plurking here.