Memanggil activity
Inti dari sebuah aplikasi sebenarnya ada 3 yaitu activity, service dan broadcast. Intent sendiri digunakan untuk memanggil activity, memanggil service atau melakukan broadcast. Bagian ini kita akan memahami intent dari yang paling sederhana yaitu memanggil activity lain. Skenarionya, kita punya 2 layout dan 2 activity yang saling berpasangan. Pada activity yang pertama disediakan sebuah button, jika diklik lalu pindah ke activity kedua. Pada activity kedua ini juga disediakan button, jika diklik maka activity kedua akan destroy (close) lalu activity pertama muncul kembali. Perhatikan gambar 9.1 berikut.
Gambar 9.1. (a) Tampilan Activity menu utama, Tampilan Acticity ikan dan Mie.
Oke kita langsung buat saja latihan Intent, pada kali ini kita akan lansung MEMBUAT APLIKASI MENU MAKANAN PADA RESTORAN. silahkan ikuti panduan dibawah ini.
- Pada Eclipse File - New - Project - Android - Android Project – Next
- Kemudian pada jendela New Android Project isikan field berikut :
- Project Name : Menu Makanan Dengan Intent
- Build Target : Android 2.2
- Aplication name : Menu Makanan
- Package Name : membuat.menudenganIntent
- Create Activity : MainActivity
- Kemudian klik Finish
- Buka activity_main.xml (res - Layout - main.xml)
- Copy Source code berikut, lalu paste pada tab activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout android:id="@+id/AbsoluteLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <Button android:layout_height="wrap_content" android:layout_width="match_parent" android:text="Keluar" android:layout_y="500px" android:id="@+id/btnKeluar"> </Button> <Button android:layout_height="wrap_content" android:layout_y="50px" android:layout_width="match_parent" android:id="@+id/btnMenuUtama" android:text="Menu Utama"> </Button> <Button android:layout_height="wrap_content" android:layout_width="match_parent" android:layout_y="200px" android:id="@+id/btnIkan" android:text="Ikan"> </Button> <Button android:layout_height="wrap_content" android:layout_width="match_parent" android:layout_y="300px" android:id="@+id/btnMie" android:text="Mie"> </Button> <TextView android:layout_y="10px" android:textColor="#F32" android:textSize="20px" android:layout_width="fill_parent" android:layout_height="wrap_content" android:marqueeRepeatLimit="marquee_forever" android:text="Selamat datang Di App Menu Makanan Android"> </TextView> </AbsoluteLayout>
- Buat File .xml baru dengan cara klik kanan pada layout > New > Other. Pilih Android XML Layout File, Isi namanya lalu Finish.
Gambar Membuat .xml baru
- kemudian buat file xml baru, kemudian beri nama ikan.xml
<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout android:id="@+id/AbsoluteLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <Button android:layout_height="wrap_content" android:layout_width="match_parent" android:text="Kembali" android:layout_y="150px" android:id="@+id/btnKeluar"> </Button> <Button android:layout_height="wrap_content" android:layout_y="50px" android:layout_width="match_parent" android:id="@+id/btnMenuUtama" android:text="Menu Utama"> </Button> <TextView android:layout_y="10px" android:textColor="#F32" android:textSize="20px" android:layout_width="fill_parent" android:layout_height="wrap_content" android:marqueeRepeatLimit="marquee_forever" android:text="Menu Ikan"> </TextView> </AbsoluteLayout>
- kemudian buat file xml baru, kemudian beri nama mie.xml
<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout android:id="@+id/AbsoluteLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <Button android:layout_height="wrap_content" android:layout_width="match_parent" android:text="Kembali" android:layout_y="150px" android:id="@+id/btnKeluar"> </Button> <Button android:layout_height="wrap_content" android:layout_y="50px" android:layout_width="match_parent" android:id="@+id/btnMenuUtama" android:text="Menu Utama"> </Button> <TextView android:layout_y="10px" android:textColor="#F32" android:textSize="20px" android:layout_width="fill_parent" android:layout_height="wrap_content" android:marqueeRepeatLimit="marquee_forever" android:text="Menu MIE"> </TextView> </AbsoluteLayout>
- kemudian buka AndroidManifest.xml
Gambar Letak AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="membuat.intent2" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="membuat.menudenganIntent" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".activity_mail" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.VIEW" /> </intent-filter> </activity> <activity android:name=".ikan" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.VIEW" /> </intent-filter> </activity> <activity android:name=".mie" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
- kemudian buka class MainActivity.java
package membuat.menudenganIntent; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { Button ikan, mie, menuUtama, keluar; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /*---------------------- Intent Menu utama------------------------*/ menuUtama = (Button) findViewById(R.id.btnMenuUtama); menuUtama.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-gen,erated method stub menuUtama(menuUtama); } }); /*------------------ Intent Ikan -------------------------*/ ikan = (Button) findViewById(R.id.btnIkan); ikan.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub menuIkan(ikan); } }); /*---------------------- Intent mie ------------------------*/ mie = (Button) findViewById(R.id.btnMie); mie.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub menuMie(mie); } }); /*---------------------- Intent keluar ------------------------*/ keluar = (Button) findViewById(R.id.btnKeluar); keluar.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub setKeluar(keluar); } }); } /*===============================================*/ public void menuUtama(View view){ Intent menuUtama = new Intent(this, MainActivity.class); startActivity(menuUtama); } public void menuIkan(View view){ Intent ikan = new Intent(this,ikan.class); startActivity(ikan); } public void menuMie(View view){ Intent mie = new Intent(this, mie.class); startActivity(mie); } public void setKeluar(View view){ Intent keluar = new Intent(); setResult(RESULT_OK,keluar); finish(); } }
- kemudian buat class baru bernama ikan.java, lalu buka class ikan.java
package membuat.menudenganIntent; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class ikan extends Activity{ Button menuUtama,kembali; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.ikan); /*---------------------- Intent Menu utama------------------------*/ menuUtama = (Button) findViewById(R.id.btnMenuUtama); menuUtama.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub menuUtama(menuUtama); } }); /*---------------------- Intent kembali ------------------------*/ kembali = (Button) findViewById(R.id.btnKeluar); kembali.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub setKembali(kembali); } }); } /*===============================================*/ public void menuUtama(View view){ Intent menuUtama = new Intent(this, MainActivity.class); startActivity(menuUtama); } public void setKembali(View view){ finish(); } }
- kemudian buat class baru lagi bernama mie.java, lalu buka class mie.java
package membuat.menudenganIntent; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class mie extends Activity{ Button menuUtama, kembali; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.mie); /*---------------------- Intent Menu utama------------------------*/ menuUtama = (Button) findViewById(R.id.btnMenuUtama); menuUtama.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub menuUtama(menuUtama); } }); /*---------------------- Intent kembali ------------------------*/ kembali = (Button) findViewById(R.id.btnKeluar); kembali.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub setKembali(kembali); } }); } /*===============================================*/ public void menuUtama(View view){ Intent menuUtama = new Intent(this, MainActivity.class); startActivity(menuUtama); } public void setKembali(View view){ finish(); } }
- Silahkan Run untuk Melihat Hasilnya.
Tugas Latihan
- Pastikan Percobaan diatas Telah Jalan tanpa Error
- Tambahkan beberapa menu lagi ke app resep makanan diatas. Sehingga tampak seperti di bawah ini
- Pastikan Di setiap menu terdapat min 5 pilihan menu makanan.
- Contoh : Menu ikan -> “1. Ikan bakar, 2. Ikan sambalado, 3. Ikan asam pedas, 4. Ikan payau dll”