Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Android SDK
Code

Apa itu Android Intents?

by
Difficulty:BeginnerLength:MediumLanguages:

Indonesian (Bahasa Indonesia) translation by Aditia Dwiperdana (you can also view the original English article)

Intent adalah topik dasar untuk developer Android. Tidak mungkin membangun aplikasi Android tanpa bertemu dengan intent. Pada tutorial ini, saya akan mengajarkanmu semuanya tentang intent.

Apa itu Intent?

Dalam sebuah pertandingan sepakbola, rekan satu tim mengoper bola di lapangan dengan tujuan untuk memasukkannya ke gawang lawan. Bola dioper dari penjaga gawang ke pemain bertahan. Lalu, bola sampai ke pemain tengah, dan jika semua berjalan seperti rencana, satu penyerang menyarangkannya di gawang lawan. Ini mengasumsikan penjaga gawang lawan tidak bisa menghalau bola.

Di Android, kemampuan mengirim pesan dimungkinkan dengan objek Intent. Dengan bantuan intent, komponen Android bisa meminta fungsional dari komponen Android lain. Saat kamu membuka aplikasi Instagram di handphonemu dan menggunakannya untuk mengambil foto, kamu menggunakan intent. Intent juga membantu mengkomunikasikan bagian dari sebuah aplikasi; perpindahan dari satu layar (aktifitas) ke layar lain dimungkinkan dengan intent.

Kita bisa melihatnya seperti ini: semua komponen (aplikasi dan layar) dari perangkat Android itu terisolasi satu sama lain. Satu-satunya cara mereka bisa berkomunikasi adalah dengan menggunakan intent.

Memulai Aktifitas dengan Intent

Seperti yang disebutkan sebelumnya, kamu bisa menggunakan intent untuk emulai berbagai komponen: aktifitas, servis, dan penerima broadcast.

Untuk memulai se buah aktifitas, kamu perlu menggunakan fungsi startActivity(intent).

Berikut adalah potongan kode yang menunjukkan bagaimana memulai aktifitas lain dengan menggunakan intent.

Pertama, kita buat sebuah objek Intent dan melemparnya ke kelas NumbersActivity. Lalu kita mulai membuat aktifitas baru menggunakan intent tersebut.

Jenis Intent

Android mendukung dua jenis intent: eksplisit dan implisit. Ketika aplikasi menentukan komponen target dalam sebuah intent, itu adalah intent eksplisit. Saat aplikasi tidak menentukan target komponen, itu adalah intent implisit.

Contoh Intent Eksplisit

Potongan kode di iatas adalah contoh intent eksplisit. Lihat lagi kode tersebut.

Di sini, NumbersActivity adalah target komponen dari MainActivity. Ini artinya NumbersActivity adalah komponen yang akan dipanggil oleh Android. Penting untuk diingat (seperti pada contoh di atas), intent eksplisit biasanya digunakan di dalam aplikasi, karena di situlah developer memiliki kuasa penuh atas kelas apa yang akan dipanggil.

Contoh Intent Implisit

Berikut adalah intent implisit:

Jika kamu memiliki kode di atas dalam kode aplikasi, aplikasimu bisa memanggil komponen browser untuk URL tertentu menggunakan intent. Tapi bagaimana sistem Android mengenali komponen mana yang bisa bereaksi atas suatu intent?

Sebuah komponen bisa didaftarkan melalui intent filter untuk aksi spesifik. Intent filter bisa didaftarkan untuk komponen secara statis pada AndroidManifest.xml. Berikut adalah contoh yang mendaftarkan sebuah komponen sebagai web viewer:

Menggunakan Intent dalam sebuah Aplikasi

Kita tulis sejumlah kode untuk melihat bagaimana intent bekerja. Pada bagian ini, kamu akan membuat sebuahaplikasi kecil untuk mencoba kedua jenis intent. Aplikasi tersebut akan memiliki  form untuk mengisi nama pertama dan nama terakhir. Saat tombol Submit diklik, kedua nilai akan diteruskan ke aktifitas lain. Akan ada juga tombol untuk memanggil browser pilihanmu. Browser yang dipilih akan membuka https://code.tutsplus.com.

Buka Android Studio dan isi MainActivity. Kamu bisa mengatur nama package menjadi com.tutstplus.code.android.droidintent.

MainActivity akan dimulai dengan beberapa import dan deklarasi kelas:

Lalu kamu akan menimpa fungsi onCreate() untuk menginisialisasi aktifitas dengan state tersimpan apa saja dan layout aktifitas (kita akan buat nanti).

Berikutnya kamu akan mendapat referensi untuk setiap tombol yang didefinisikan di layout dan menempelkan click listener ke masing-masing tombol tersebut.

Untuk tombol Submit, kamu atur sebuah OnClickListener untuk menjalankan sebuah aksi saat tombol diklik. Saat klik terjadi, kita ambil nama pertama dan terakhir dari view, dan mengirimkannya ke aktifitas berikutnya: ShowActivity. Target komponen disebut secara eksplisit dalam intent, membuat ini sebuah contoh intent eksplisit.

Untuk tombol browser, OnClickListener akan membuat sebuah intent baru untuk memanggil aplikasi apapun yang cocok dengan filter: sebuah ACTION_VIEW yang bisa menangani sebuah URL web. Dengan kata lain, membuka sebuah browser web. Jika kamu punya lebih dari satu browser terinstall di smartphonemu, kamu akan diminta untuk memilih salah satu untuk menjalankan aksi membuka website. Ini adalah contoh intent implisit.

Layout MainActivity

Layout untuk MainActivity akan sangat sederhana untuk tutorial ini.

Di sini kamu punya dua TextView dan dua EditText yang menunjukkan First Name dan Last Name. Ada juga tombol untuk mengirim nama, dan satu lagi untuk memanggil browser.

Membuat ShowActivity

Untuk melengkapi aplikasi kita, kita perlu membuat sebuah aktifitas untuk menangani intent eksplisit di atas. Buat sebuah activity bernama ShowActivity. Ini adalah aktifitas di mana hasil pengisian nama ditampilkan. Berikut adalah isinya:

Pada aktifitas ini, kita mulai dengan mengambil string dari MainActivity. Kamu bisa mendapat referensi ke intent yang memanggil aktifitas ini dengan fungsi getIntent(). Lalu kamu bisa mengakses string yang dilempar menggunakan getExtras().getString(). Akhirnya, setelah mendapat instance TextView dari layout, kamu tampilkan nilai yang didapat.

Layout ShowActivity

Layout untuk aktifitas ini sederhana:

Menguji aplikasi

Sekarang kamu bisa build aplikasi dan mencobanya pada perangkat Androidmu!

Melempar Data menggunakan Bundle

Kamu juga bisa menggunakan Bundle saat melempar data menggunakan intent.

Kelas Bundle membuat kamu bisa menyimpan data kompleks dan mendukung jenis data seperti string, char, boolean, intener, dan lain-lain. Berikut adalah contoh bagaimana bagian dari MainActivity.java jika kamu menggunakan Bundle.

Kesimpulan

Pada tutorial ini, kita mendapat pengenalan singkat tentang penggunaan intent untuk membuat aktifitas pada Android. Kita lihat perbedaan antara intent eksplisit dan implisit, dan membuat contoh yang menggunakan kedua jenis intent tersebut.

Kamu bisa baca lebih jauh tentang intent pada dokumentasi Android. Mengerti bagaimana intent bekerja sangat penting. Saat kamu membuat berbagai aplikasi, kamu akan menemui berbagai jenis intent dan berbagai cara menggunakannya.

Sementara itu, lihatlah tutorial lain tentang pengembangan aplikasi Android!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.