Hallo sobat blogger, dikesempatan kali ini saya akan membahas tentang penggunaan intent di android. Intent itu sendiri adalah pesan asynchronous yang memungkinkan aplikasi untuk memberikan request secara fungsional dari komponen yang berbeda di sistem android, misalnya service, broadcast receiver atau activity. Sebuah aplikasi dapat memanggil komponen secaralangsung (eksplisit intent) atau mengetahui komponen mana yang teregister untuk intent, menyebutkan nama targetnya (class) yang akan dipanggil.
Untuk implicit intent, tidak meyebutkan targetnya, melainkan menyebutkan action, data atau categorynya. Sistem akan mencocokan komponen yang mempunyai intent-filter yang diminta, jika cocok maka intent tersebut akan di aktifkan.
Langsung saja kita buat programnya
main.xml
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="15dip"
android:paddingTop="5dip"
android:text="Please Choose :" />
<Button
android:id="@+id/intentbrowser"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Intent Browser" />
<Button
android:id="@+id/autocomplete"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Auto Complete" />
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="15dip"
android:paddingTop="5dip"
android:text="Please Choose :" />
<Button
android:id="@+id/intentbrowser"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Intent Browser" />
<Button
android:id="@+id/autocomplete"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Auto Complete" />
</LinearLayout>
autocomplte.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/TextView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Kota :"
android:paddingBottom="10dip" />
<AutoCompleteTextView
android:id="@+id/auto01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=""/>
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/TextView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Kota :"
android:paddingBottom="10dip" />
<AutoCompleteTextView
android:id="@+id/auto01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=""/>
</LinearLayout>
intentbrowser.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
</LinearLayout>
UsingIntent.java
package com.apandi.intent;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class UsingIntentActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn_pilih = (Button) findViewById(R.id.intentbrowser);
btn_pilih.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Intent i = new Intent(UsingIntentActivity.this,
IntentBrowser.class);
startActivity(i);
}
});
Button btn_search = (Button) findViewById(R.id.autocomplete);
btn_search.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Intent i = new Intent(UsingIntentActivity.this,
AutoComplete.class);
startActivity(i);
}
});
}
}
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class UsingIntentActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn_pilih = (Button) findViewById(R.id.intentbrowser);
btn_pilih.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Intent i = new Intent(UsingIntentActivity.this,
IntentBrowser.class);
startActivity(i);
}
});
Button btn_search = (Button) findViewById(R.id.autocomplete);
btn_search.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Intent i = new Intent(UsingIntentActivity.this,
AutoComplete.class);
startActivity(i);
}
});
}
}
AutoComplete.java
package com.apandi.intent;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
public class AutoComplete extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.autocomplete);
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.auto01);
ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.simple_dropdown_item_1line, KOTA);
textView.setAdapter(adapter);
}
static final String[] KOTA = new String[] {
"Jakarta", "Bandung", "Yogyakarta", "Surabaya", "Tangerang"
};
}
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
public class AutoComplete extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.autocomplete);
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.auto01);
ArrayAdapter
android.R.layout.simple_dropdown_item_1line, KOTA);
textView.setAdapter(adapter);
}
static final String[] KOTA = new String[] {
"Jakarta", "Bandung", "Yogyakarta", "Surabaya", "Tangerang"
};
}
IntentBrowser.java
package com.apandi.intent;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
public class IntentBrowser extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.intentbrowser);
openBrowser();
}
private void openBrowser() {
// TODO Auto-generated method stub
Uri uri = Uri.parse("http://www.facebook.com");
Intent i = new Intent(Intent.ACTION_VIEW, uri);
startActivity(i);
}
}
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
public class IntentBrowser extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.intentbrowser);
openBrowser();
}
private void openBrowser() {
// TODO Auto-generated method stub
Uri uri = Uri.parse("http://www.facebook.com");
Intent i = new Intent(Intent.ACTION_VIEW, uri);
startActivity(i);
}
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.apandi.intent"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".UsingIntentActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:label="Auto Complete"
android:name=".AutoComplete" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:label="Intent Browser"
android:name=".IntentBrowser" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.apandi.intent"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".UsingIntentActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:label="Auto Complete"
android:name=".AutoComplete" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:label="Intent Browser"
android:name=".IntentBrowser" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Penjelasan
Intent memiliki fungsi untuk memanggil activity lain yang masih dalam 1 package. Pada program terdapat tiga file java dan xml, untuk file java diantaranya : UsingIntent.java ; AutoComplete.java ; IntentBrowser.java. Sedangkan untuk xml terdiri dari : main.xml ; autocomplete.xml ; intentbrowser.xml.
File UsingIntent.java merupakan program utama dari pembuatan intent ini, UsingIntent akan memanggil activity lain yang telah dideklarasikan sebelumnya. File AutoComplete.java berisi program auto search, dimana bila kita mengetikan kata yang sudah ada di program, maka kata tersebuta akan muncul secara otomatis.Untuk file IntentBrowser.java berisi program implicit intent, yaitu sebuah intent yang sudah terdapat pada android dan kita hanya perlu memanggil fungsi intent tersebut. Sebelum menjalankan program ini, jangan lupa daftarkan setiap file java ke dalam AndroidManifest
Untuk membuat sebuah program ini, Hal pertama yang harus dilakukan adalah membuat project baru, kita tentukan Minimum SDK yang akan digunakan, dalam hal ini saya menggunakan Minimum SDK Android 2.2. Jika sudah membuat project baru maka akan tercipta 4 file default yaitu class Activity utama di folder src, main.xml di folder rex/layout, file string.xml pada folder res/value dan file AndroidManifest.xml yang menyimpan seluruh informasi penting dari aplikasi yang dibuat mulai dari nama class hingga component yang digunakan seperti broadcast receiver dan lain-lain.
Output
Mantap...makasih banyak ya, Gan!!!!
BalasHapusmain.java nya isi nya apa gan
BalasHapus