What is Android Intent?

  • Posted on: 20 January 2015
  • By: oon
Artikel Development Android untuk Pemula; Android Intent

Mau memulai beberapa tulisan tentang Development Android (menggunakan pemrograman Java dan tools Android Studio) yang sederhana aja, dengan target level pemula :)

Kali ini membahas tentang; apa sih Android Intent?

Menurut dokumentasi development Android [1], Intent adalah sebuah objek messaging yang dapat digunakan untuk request sebuah aksi dari app component lain.

Nah buat yang bingung ada apa aja sih app component itu? menurut dokumentasi [2] terdiri dari: Activities, Services, Content providers, dan Broadcast receivers.

Balik lagi ngomongin Intent.

Ada 3 macam fungsional dasar (fundamental use-case) dari operasi Intent ini, yaitu:

  1. Untuk memulai Activity
    Silakan baca dari link berikut kalo masih belum tau Activity. Intinya sih representasi satu screen di aplikasi.
  2. Untuk memulai Service
    Silakan baca dari link berikut kalo masih belum tau Service. Intinya sih tentang komponen yang running di belakang layar (background).
  3. Untuk mengirim broadcast
    Broadcast adalah pesan yang bisa diterima oleh aplikasi apapun pada Android.

Terus, Intent itu ada 2 jenis:

  • Intent yang eksplisit menyebutkan nama komponen yang akan dimulai.
  • Intent yang implisit alias tidak menyebutkan nama komponen, hanya menyebutkan aksi umum yang akan dilakukan, sehingga memungkinan komponen dari aplikasi lain untuk menanganinya.

Informasi apa saja yang terkandung dalam sebuah Intent?

  • ComponentName
  • Action
  • Data (and Type)
  • Category
  • Extras
  • Flags

Butuh referensi API tentang Intent? silakan menuju [3].

Misalnya aplikasimu mau mengirimkan Intent dengan men-set ComponentName, atau menggunakan tipe penyebutan eksplisit, bisa dilakukan dengan cara berikut.

    Intent intent = new Intent();
    intent.setComponent(new ComponentName("id.or.oo","id.or.oo.aa.XActivity"));
    startActivity(intent);

Perhatikan bahwa argument dari ComponentName yang pertama itu adalah nama package, atau kalo dalam sebuah Activity bisa juga diambil dari method getPackageName(). Meskipun XActivity berada pada package id.or.oo.aa tetapi package yang diacu dalam hal ini adalah package yang didaftarkan dalam AndroidManifest.xml. Kemudian argument yang kedua adalah nama Activity Class yang ingin kita mulai, atau bisa juga dengan mekanisme static class kita menggunakan method XActivity.class.getName().

[1]http://developer.android.com/guide/components/intents-filters.html
[2]http://developer.android.com/guide/components/fundamentals.html#Components
[3]http://developer.android.com/reference/android/content/Intent.html
[4]http://www.vogella.com/tutorials/AndroidIntent/article.html
[5]http://stackoverflow.com/questions/10908534/android-content-activitynotf...

Tags: 

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
By submitting this form, you accept the Mollom privacy policy.