Mengenal Intent Pada Android

Jumpa lagi dengan Agus Haryanto, Pada kesempatan kali ini kita akan kenalan dengan salah satu bagian dari development android yang penting yaitu intent.

Pada beberapa tutorial yang pernah saya tulis, kita pernah menggunakan intent.

Kalau ditanya apa itu intent. Agak bingung juga jawabnya. Kalau pendapat saya, intent itu adalah sebuah object yang merupkan Kunci untuk berkomunikasi dengan activity lainnya.

Kesimpulan diatas saya dapatkan dari fungsi intent itu sendiri.

1. Untuk memanggil activity lain yang masih dalam 1 package
2. Untuk memanggil activity lain yang tidak dalam 1 package dan project
3. Untuk memanggil activity yang sudah ada di fungsi internal android seperti Dial Number, Open Browser dan lainnya.

Satu lagi yang penting dengan intent kita bisa mengirimkan data ke Activity lain dan juga dapat menangkap data dari Activity tersebut.

Kalau baca tutorial yang ada di websitenya intent itu dibagi 2 yaitu

1. Implicit intent adalah intent yang memanggil fungsi activity yang sudah ada di fungsi internal android seperti Dial Number, Open Browser dan lainya.
2. Explicit Intent yang memanggil Activity lain yang masih dalam 1 project atupun beda project.

Sekarang mari kita coba praktekan implementasi implicit intent pada aplikasi android kita. Kita coba buat Aplikasi yang didalamnya ada fungsi Call Dial, Open Browser dan Kamera. Berhubung sudah mau masuk bulan ramdhan nanti pada fungsi Open Browser. Kita masukkan address url website yang menampilkan Jadwal Puasa 2011 / Jadwal Imsakiyah Ramadahn 1432H

1.Buat New Project seperti dibawah ini

2. Sekarang mari kita buat user interfacenya dengan mengedit file main.xml

Pada code main.xml diatas Menggunakan LinearLayout yang didalamnya terdapat 1 buah TextView dan 5 Button.

3. Edit file BelajarImplicitIntent.java

package com.agusharyanto.net.implicit.intent;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class BelajarImplicitIntentActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btnMcDonald = (Button)findViewById(R.id.btnMcDonald);
Button btnKFC = (Button)findViewById(R.id.btnKFC); Button btnBelajarAndroid = (Button)findViewById(R.id.btnBelajarAndroid);
Button btnJadwalPuasa = (Button)findViewById(R.id.btnJadwalPuasa);
Button btnKamera = (Button)findViewById(R.id.btnKamera);
btnMcDonald.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v){ // getRequest(txtResult,txtUrl); CallIntent(v); } });
btnKFC.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v){ // getRequest(txtResult,txtUrl); CallIntent(v); } });
btnBelajarAndroid.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v){ // getRequest(txtResult,txtUrl); CallIntent(v); } });
btnJadwalPuasa.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v){ // getRequest(txtResult,txtUrl); CallIntent(v); } });
btnKamera.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v){ // getRequest(txtResult,txtUrl); CallIntent(v); } });
}
public void CallIntent(View view) {
Intent intent = null;
switch (view.getId()) {
case R.id.btnKFC:
//akan melakukan Call ke nomor intent = new Intent(Intent.ACTION_CALL, Uri.parse(“tel:14022”));
startActivity(intent);
break;
case R.id.btnMcDonald:
//akan melakukan Call ke nomor intent = new Intent(Intent.ACTION_CALL, Uri.parse(“tel:14045”));
startActivity(intent);
break;
case R.id.btnBelajarAndroid:
//akan memanggil browser dan menampilkan website
intent = new Intent(Intent.ACTION_VIEW, Uri .parse(“”));
startActivity(intent);
break;
case R.id.btnJadwalPuasa:
//akan memanggil browser dan menampilkan website /imsyak/
intent = new Intent(Intent.ACTION_VIEW, Uri .parse(“/imsyak/”));
startActivity(intent);
break;
case R.id.btnKamera:
//akan memanggil fungsi Camera android
intent = new Intent(“android.media.action.IMAGE_CAPTURE”);
startActivityForResult(intent, 0);
break;
default:
break;
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK && requestCode == 0) { String result = data.toURI(); Toast.makeText(this, result, Toast.LENGTH_LONG);
}
}
}
Disini pada masing-masing button dipasang setOnClickListener.

Agar pada saat kita mengklik atau sentuh button tersebut akan mengekseskusi method onClick didalamnya.

btnJadwalPuasa.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v){ // getRequest(txtResult,txtUrl); CallIntent(v); } });
Contohnya btnJadwalPuasa apabile diklik akan mengeksekusi perintah yang ada pada method onClick dalam hal ini akan memanggil method CallIntent

case R.id.btnJadwalPuasa:
//akan memanggil browser dan menampilkan website /imsyak/
intent = new Intent(Intent.ACTION_VIEW, Uri .parse(“/imsyak/”));
startActivity(intent);
break;
Method CallIntent berfungsi untuk menjalankan Suatu Activity berdasarkan button yang diklik.

Jika button yang diklik adalah btnJadwalPuasa maka akan memanggil intent yang akan memanggil browser dan menampilkan website /imsyak/ yang isinya menampilkan Jadwal Puasa 2011 / Jadwal Imsakiyah Ramadhan 1432H
4. Sekarang kita edit file AndroidManifest.xml

5.Sekarang mari kita jalankan projectnya

Sentuh / Klik button Jadwal Puasa, maka akan menampilkan Jadwal Puasa 2011
(jadwal imsakiyah ramadahan 2011) dari website /imsyak/

Diwebsite ini kita bisa pilih jadwal berdarkan kota

Wah, Alhamdulillah kita bisa melihat jadwal puasa melalui aplikasi yang kita buat 🙂

Nah Misalkan nanti kita lagi dikantor sudah mendekati waktu berbuka, kita bisa pesan Makanan ke Mc Donald atau KFC dengan Menyentuh button Pesan McDonald atau KFC.

Aha, jadi dapat ide lagi nih bikin aplikasi yang fungsinya untuk memudahkan user memesan makanan ke Restoran atau Rumah Makan Favorite mereka yang menyediakan layanan jasa pesan antar.

Semoga Bermanfaat
Salam Hangat

Agus Haryanto

Source {filelink=7}

Sumber

1.

2.

3. /