About Me

Agus Haryanto,
Android Trainner,
GoogleMaps (JavaScript) Trainer
JQuery and JQuery Mobile Trainer
Java, Java Script and PHP Trainer
Freelance Developer Android
Freelance Developer Blackberry
Freelance Developer Web (GIS Googlemaps)
Freelance Developer SMS Gateway

jika ingin contact saya bisa emali ke agus.superwriter@gmail.com

ym: agus_h23

Facebook : Agus Haryanto


Article

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 http://vogella.de 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

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<TextView android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:text="agusharyanto.net Belajar Implicit Intent" />
	<Button android:layout_height="wrap_content"
		android:layout_width="match_parent" android:text="Pesan McDonald"
		android:id="@+id/btnMcDonald"></Button>
	<Button android:layout_height="wrap_content"
		android:layout_width="match_parent" android:text="Pesan KFC"
		android:id="@+id/btnKFC"></Button>
	<Button android:text="Belajar Android" android:layout_height="wrap_content"
		android:layout_width="match_parent" android:id="@+id/btnBelajarAndroid"></Button>
	<Button android:text="Jadwal Puasa" android:layout_height="wrap_content"
		android:id="@+id/btnJadwalPuasa" android:layout_width="match_parent"></Button>
	<Button android:text="Ambil Gambar" android:layout_height="wrap_content"
		android:id="@+id/btnKamera" android:layout_width="match_parent"></Button>
</LinearLayout>

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 14022
			intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:14022"));
			startActivity(intent);
			break;
		case R.id.btnMcDonald:
			//akan melakukan Call ke nomor 14045
			intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:14045"));
			startActivity(intent);
			break;
		case R.id.btnBelajarAndroid:
			//akan memanggil browser dan menampilkan website http://agusharyanto.net
			intent = new Intent(Intent.ACTION_VIEW, Uri
					.parse("http://agusharyanto.net"));
			startActivity(intent);
			break;
		case R.id.btnJadwalPuasa:
			//akan memanggil browser dan menampilkan website http://www.pkpu.or.id/imsyak/
			intent = new Intent(Intent.ACTION_VIEW, Uri
					.parse("http://www.pkpu.or.id/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 http://www.pkpu.or.id/imsyak/
			intent = new Intent(Intent.ACTION_VIEW, Uri
					.parse("http://www.pkpu.or.id/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 http://www.pkpu.or.id/imsyak/ yang isinya menampilkan Jadwal Puasa 2011 / Jadwal Imsakiyah Ramadhan 1432H
4. Sekarang kita edit file AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.agusharyanto.net.implicit.intent"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="8" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".BelajarImplicitIntentActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

    <uses-permission android:name="android.permission.CALL_PRIVILEGED"></uses-permission>
	<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
	<uses-permission android:name="android.permission.INTERNET"></uses-permission>
	<uses-permission android:name="android.permission.CAMERA"></uses-permission>
</manifest>

5.Sekarang mari kita jalankan projectnya

Sentuh / Klik button Jadwal Puasa, maka akan menampilkan Jadwal Puasa  2011
(jadwal imsakiyah ramadahan 2011) dari website http://www.pkpu.or.id/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 Download

Sumber

1. http://vogella.de

2. http://developer.android.com

3. http://www.pkpu.or.id/

Share

20 comments to Mengenal Intent Pada Android

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Spam protection by WP Captcha-Free