package bridge; /** * * @author Administrator */ public interface SuaraHewan { public void bersuara(); }
Wednesday 24 April 2013
package abstract_factory; /** * * @author Administrator */ public abstract class Monster { public abstract void status(); }
Friday 19 April 2013
Jumpa lagi kawan...
Kali ini kita akan membuat aplikasi sederhana menghitung luas dan keliling bangun datar. Berikut output aplikasi yang akan kita buat.
Sebelum melangkah lebih jauh, kita harus mengerti dulu apa itu Dialog. Dialog merupakan sebuah jendela kecil yang meminta pengguna untuk membuat keputusan atau memasukkan informasi tambahan (biasanya dialog ini disebut JOptionPane di Java dan MessageBox di VB). Dengan kita menggunakan dialog maka aplikasi yang kita buat akan lebih interaktif. Dialog ini hampir sama fungsinya dengan Toast namun dialog dapat memiliki beberapa pilihan keputusan ataupun inputan pengguna.
Dalam Dialog terdapat 3 buah model untuk menampilkan List, antaralain :
- A traditional single-choice list : memilih sebuah pilihan sederhana
- A persistent single-choice list (radio buttons) : memilih sebuah pilihan dengan radio button
- A persistent multiple-choice list (checkboxes) : memilih beberapa pilihan dengan ChekBox
Tapi kali ini kita hanya membahas single-choice list dialog dan custom dialog. Untuk membuat single-choice list dialog kita akan memanggil method setItems() dan untuk custom dialog menggunakan setView().
Untuk membuat sebuah dialog kita harus mendeklarasikan class AlertDialog. Class ini memungkinkan kita untuk membangun berbagai desain dialog. Seperti ditunjukkan pada gambar dibawah , ada tiga wilayah dialog peringatan:
Title : Ini adalah opsional dan harus digunakan hanya ketika area konten ditempati oleh pesan rinci, daftar, atau tata letak kustom.
Content Area : Menampilkan pesan, list, maupun custom layout.
Action Buttons : Melakukan aksi/event.
Untuk membuat Action button, ada 3 buah method, antara lain :
- setPositiveButton() : digunakan untuk menyetujui dan melanjutkan aksi berikutnya.
- setNegativeButton() : digunakan untuk membatalkan aksi.
- setNeutralButton() : digunakan ketika pengguna mungkin tidak ingin melanjutkan dengan tindakan, tetapi tidak selalu ingin membatalkan. Biasanya terletak antara tombol positif dan negatif.
Langkah langkah pembuatan aplikasi :
- Buka Eclipse dan buat sebuah project baru.
- Buka folder res -> layout -> buka activity_main.xml, disini kita akan mendesain aplikasi yang akan kita buat.
- Tambahkan sebuah Button. Caranya ketikkan source berikut pada activity_main.xml.
[sourcecode language="xml"]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".HitungBangun" >
<Button
android:id="@+id/btnBangunDatar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="Bangun Datar"
tools:ignore="HardcodedText" />
</RelativeLayout>
[/sourcecode] - Buka MainActivity.java pada folder src dan ketikkan source berikut pada class tersebut.
[sourcecode language="java"]
Button buttonBangunDatar;
CharSequence jenisBangunDatar[]={"Segitiga","Persegi"};
Context context=this;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonBangunDatar=(Button)findViewById(R.id.btnBangunDatar);
buttonBangunDatar.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
dialogBangunDatar();
}
});
}
[/sourcecode]dialogBangunDatar() merupakan sebuah method yang menampung sebuah AlertDialog yang menampilkan pilihan persegi atau segitiga.
Berikut isi dari method dialogBangunDatar(). Untuk source yang diberi warna kuning kosongi terlebih dahulu.
- Ketika kita memilih Persegi atau Segitiga maka akan muncul sebuah AlertDialog dimana kita harus memberikan sebuah inputan untuk melakukan perhitungan. Sebenarnya AlertDialog ini adalah sebuah Custom Dialog dimana kita harus terlebih dahulu membuat layout baru untuk menempatkannya pada AlertDialog tersebut. Berhubung disini ada 2 pilihan yaitu Persegi dan Segitiga, maka kita harus membuat 2 layout baru. Caranya pilih folder res -> layout. Klik kanan folder layout -> New Android XML File.
Kemudian akan muncul form berikut. Isikan sesuai gambar dibawah.
Layout untuk Persegi
Layout untuk Segitiga
Klik Finish.
Buka layout_persegi.xml dan tambahkan kode berikut.
[sourcecode language="xml"]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/txtSisi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Sisi"
android:inputType="numberDecimal"
tools:ignore="HardcodedText" >
<requestFocus />
</EditText>
</LinearLayout>
[/sourcecode]Untuk layout_segitiga.xml tambahkan kode berikut.
[sourcecode language="xml"]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/txtAlas"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Alas"
android:inputType="numberDecimal"
tools:ignore="HardcodedText" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/txtTinggi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Tinggi"
android:inputType="numberDecimal"
tools:ignore="HardcodedText" />
</LinearLayout>
[/sourcecode] - Selanjutnya Buat sebuah class baru untuk menampung aksi-aksi dari dialog yang telah kita buat. Dalam hal ini kita berinama Rumus.java.
Method untuk perhitungan Persegi.
[sourcecode language="java"]
public static void hitungSegitiga(final Context context, LayoutInflater inflater){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
final View viewSegitiga=inflater.inflate(R.layout.layout_segitiga, null);
builder.setTitle("Segitiga");
builder.setView(viewSegitiga);
builder.setPositiveButton("Luas", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
EditText alas=(EditText)viewSegitiga.findViewById(R.id.txtAlas);
EditText tinggi=(EditText)viewSegitiga.findViewById(R.id.txtTinggi);
double a=Double.parseDouble(alas.getText().toString());
double t=Double.parseDouble(tinggi.getText().toString());
double luas=a*t/2;
Rumus.hasil("Luas", luas, context);
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
arg0.cancel();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
[/sourcecode]Method untuk perhitungan Segitiga
[sourcecode language="java"]
public static void hitungPersegi(final Context context, LayoutInflater inflater){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
final View viewPersegi=inflater.inflate(R.layout.layout_persegi, null);
builder.setTitle("Persegi");
builder.setView(viewPersegi);
builder.setPositiveButton("Luas", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
EditText sisi=(EditText)viewPersegi.findViewById(R.id.txtSisi);
double s=Double.parseDouble(sisi.getText().toString());
double luas=s*s;
Rumus.hasil("Luas Persegi", luas, context);
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
arg0.cancel();
}
});
builder.setNeutralButton("Keliling", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
EditText sisi=(EditText)viewPersegi.findViewById(R.id.txtSisi);
double s=Double.parseDouble(sisi.getText().toString());
double keliling=s*4;
Rumus.hasil("Keliling Persegi", keliling, context);
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
[/sourcecode]Sekarang pada MainActivity.java tambahkan kode berwarna kuning tersebut pada method onClick().
Method untuk menampilkan hasil perhitungan.
[sourcecode language="java"]
public static void hasil(String title,double hasil,Context context){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setTitle(title);
builder.setMessage(hasil+"");
builder.setNeutralButton("Oke", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.cancel();
}
}).create().show();
}
[/sourcecode]
download project latihannya disini.
Sayounara...
Tuesday 16 April 2013
Thursday 11 April 2013
Tuesday 9 April 2013
Selamat menjelang petang kawan..
Kali ini kita akan membahas bagaimana membuat sebuah activity untuk melakukan call/panggilan. Caranya cukup mudah, seperti di episode sebelumnya, kita cukup memanfaatkan intent internal bawaan androidnya.
Baiklah untuk mempersingkat waktu ikuti langkah-langkah berikut :
- Bka eclipse dan buat sebuah project baru.
- Setelah project selesai dibuat, buka AndroidManifest.xml untuk menambahkan permission. Berikut sourcenya.
[sourcecode language="xml"]
<uses-permission android:name="android.permission.CALL_PHONE" />
[/sourcecode]
Source lengkap pada AndroidManifest.xml.
[sourcecode language="xml"]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.is.calltest"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.is.calltest.MainActivity"
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>
</manifest>
[/sourcecode] - Selanjutnya buka activity_main.xml dan buat desain aplikasi kawan-kawan. Berikut sourcenya.
[sourcecode language="xml"]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<EditText
android:id="@+id/txtNumberPhone"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:ems="10"
android:hint="Phone Number"
android:inputType="phone"
tools:ignore="HardcodedText" >
<requestFocus />
</EditText>
<Button
android:id="@+id/btnCall"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/txtNumberPhone"
android:text="Call"
tools:ignore="HardcodedText" />
</RelativeLayout>
[/sourcecode] - Berikutnya buka MainActivity.java dan ketikkan kode berikut.
[sourcecode language="java"]
package com.is.calltest;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity {
EditText editTextNUmber;
Button buttonCall;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editTextNUmber=(EditText)findViewById(R.id.txtNumberPhone);
buttonCall=(Button)findViewById(R.id.btnCall);
buttonCall.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent=new Intent(android.content.Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+editTextNUmber.getText()));
startActivity(intent);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
[/sourcecode]
Untuk memanggil action Call kita memanggil action
[sourcecode language="java"]
Intent intent=new Intent(android.content.Intent.ACTION_CALL);
[/sourcecode] - Langkah selanjutnya jalankan aplikasi kawan-kawan. Utuk test Call-nya kawan-kawan harus membuat 2 AVD. Dimana tiap-tiap AVD ini memiliki nomor ID yang dapat kita buat untuk melakukan panggilan.
Jalankan aplikasi kawan-kawan
Sekarang kita telah berhasil membuat Call di android ( :D ).
Oke kawan, sudah dulu ya. Semoga postingan ini bermanfaat, dan sampai jumpa di postingan berikutnya.
Download project latihannya disini.
sumber : androiddesk.wordpress.com
Sayounara ...
Sunday 7 April 2013
- Buka eclipse.
- Buka project yang telah kita buat pada postingan sebelumnya.
- Buka activity_main.xml dan tambahkan kode berikut.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <Button android:id="@+id/btnNeutral" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="14dp" android:text="Dialog Neutral" tools:ignore="HardcodedText" /> <Button android:id="@+id/btnList" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/btnNeutral" android:text="Dialog Items" tools:ignore="HardcodedText" /> <Button android:id="@+id/btnRadioList" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/btnList" android:text="Dialog Radio List" tools:ignore="HardcodedText" /> <Button android:id="@+id/btnChekBox" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/btnRadioList" android:text="Dialog ChekBox List" tools:ignore="HardcodedText" /> <Button android:id="@+id/btnKeluar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/btnCustom" android:text="Keluar" tools:ignore="HardcodedText" /> </RelativeLayout>
Saturday 6 April 2013
Lanjuuut lagi kawan...
Membuat Dialog sederhana sudah, Dialog List sudah, trus sekarang mau ngapain lagii. Ya, sekarang marilah kita berdoa bersama-sama menurut agama dan keyakinan masing-masing agar diberi kesehatan dan ilmu yang bermafaat, bahagia di dunia dan di akhirat , aamiin (loh ini mau ngapain sih :D ...).
Hehe, baiklah kawan BMS, melanjutkan dari postingan sebelumnya, kali ini kita akan membuat sebuah Dialog List dengan radio button. Caranya gak jauh beda sama membuat Dialog List yang biasa. Kalau Dialog List yang biasa kita menggunakan method setItems() sedangkan Dialog Radio List menggunakan method setSingleChoiceItems().
Oke , buka Eclipse kesayangan, buka project yang telah dibuat pada postingan sebelumnya, buka activity_main.xml dan tambahkan kode berikut dan letakkan setelah button kedua:
[sourcecode language="xml"]
<Button
android:id="@+id/btnRadioList"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/btnList"
android:text="Dialog Radio List"
tools:ignore="HardcodedText" />
[/sourcecode]
Lebih Jelasnya, berikut source lengkapnya.
[sourcecode language="xml"]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<Button
android:id="@+id/btnNeutral"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="14dp"
android:text="Dialog Neutral"
tools:ignore="HardcodedText" />
<Button
android:id="@+id/btnList"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/btnNeutral"
android:text="Dialog Items"
tools:ignore="HardcodedText" />
<Button
android:id="@+id/btnRadioList"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/btnList"
android:text="Dialog Radio List"
tools:ignore="HardcodedText" />
<Button
android:id="@+id/btnKeluar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/btnRadioList"
android:text="Keluar"
tools:ignore="HardcodedText" />
</RelativeLayout>
[/sourcecode]
Berikutnya buka MainActivity.java dan deklarasikan butto yang telah kita buat/tambahkan pada layout nya.
[sourcecode language="java"]
Button buttonRadioList;
[/sourcecode]
Tambahkan kode berikut pada method onCreate(Bundle savedInstanceState).
[sourcecode language="java"]
buttonRadioList=(Button) findViewById(R.id.btnRadioList);
[/sourcecode]
Tahap selanjutnya buat sebuah method baru untuk menampung Dialog yang akan kita buat.
[sourcecode language="java"]
public void actionRadioList(){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setTitle("Radio Items");
builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
Toast.makeText(context, items[arg1], Toast.LENGTH_LONG).show();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
[/sourcecode]
Dan tambahkan pula kode berikut pada method onCreate(Bundle savedInstanceState).
[sourcecode language="java"]
buttonRadioList.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionRadioList();
}
});
[/sourcecode]
Lebih jelasnya, berikut source lengkapnya.
[sourcecode language="java"]
package com.is.dialogtest;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
Context context=this;
Button buttonNeutral;
Button buttonKeluar;
Button buttonList;
Button buttonRadioList;
CharSequence items[]={"Ubuntu","Mandriva","Mint"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonNeutral=(Button) findViewById(R.id.btnNeutral);
buttonList=(Button) findViewById(R.id.btnList);
buttonRadioList=(Button) findViewById(R.id.btnRadioList);
buttonKeluar=(Button) findViewById(R.id.btnKeluar);
buttonNeutral.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionNeutralButton();
}
});
buttonList.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionDialogList();
}
});
buttonRadioList.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionRadioList();
}
});
buttonKeluar.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionKeluar();
}
});
}
public void actionKeluar(){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setTitle("Konfirmasi");
builder.setMessage("Apakah Anda Akan Keluar ?");
builder.setCancelable(false);
builder.setPositiveButton("Ya", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
MainActivity.this.finish();
}
});
builder.setNegativeButton("Tidak", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
arg0.cancel();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
public void actionNeutralButton(){
new AlertDialog.Builder(this).setTitle("Ini Title")
.setMessage("Ini Message")
.setNeutralButton("Oke", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
//Tidak melakukan apapun
}
}).show();
}
public void actionDialogList(){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setTitle("Distro Linux");
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
Toast.makeText(context, items[arg1], Toast.LENGTH_LONG).show();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
public void actionRadioList(){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setTitle("Radio Items");
builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
Toast.makeText(context, items[arg1], Toast.LENGTH_LONG).show();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
[/sourcecode]
Jalankan aplikasi kawan-kawan.
Selesai sudah untuk membuat Dialog Radio List.
Bersambung ...
Lets Rock with Android...
Lanjuut kawan..
Pada postingan sebelumnya kita telah berhasil membuat Dialog sederhana. Kali ini kita akan membuat Dialog List, wah apaan tuh?. Nah, pada Dialog List ini kita dapat memberikan daftar pilihan dialog yang kita buat. Pada dialog list ini terdapat 3 macam list, antara lain :
- A traditional single-choice list : memilih sebuah pilihan sederhana
- A persistent single-choice list (radio buttons) : memilih sebuah pilihan dengan radio button
- A persistent multiple-choice list (checkboxes) : memilih beberapa pilihan dengan ChekBox
Langsung saja buka Eclipse kesayangan dan buka project yang telah kawan-kawan buat pada postingan sebelumnya (DialogTest). Buka activity_main.xml, tambahkan kode berikut dibawah button pertama :
[sourcecode language="xml"]
<Button
android:id="@+id/btnList"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/btnNeutral"
android:text="Dialog Items"
tools:ignore="HardcodedText" />
[/sourcecode]
Untuk lebih jelasnya, Berikut source lengkapnya :
[sourcecode language="xml"]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<Button
android:id="@+id/btnNeutral"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="14dp"
android:text="Dialog Neutral"
tools:ignore="HardcodedText" />
<Button
android:id="@+id/btnList"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/btnNeutral"
android:text="Dialog Items"
tools:ignore="HardcodedText" />
<Button
android:id="@+id/btnKeluar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/btnList"
android:text="Keluar"
tools:ignore="HardcodedText" />
</RelativeLayout>
[/sourcecode]
Selanjutnya buka MainActivity.java dan tambahkan sebuah atribut bertipe button, dikarenakan pada desain aplikasinya kita telah menambahkan sebuat button. Dan buat pula sebuah array untuk menampung list items yang akan kita buat.
[sourcecode language="java"]
Button buttonList;
CharSequence items[]={"Ubuntu","Mandriva","Mint"};
[/sourcecode]
Selain itu deklarasikan pula button yang kita tambahkan tadi pada method onCreate(Bundle savedInstanceState).
[sourcecode language="java"]
buttonList=(Button) findViewById(R.id.btnList);
[/sourcecode]
Langkah selanjutnya, buat lagi sebuah method untuk menampung dialog list yang akan kita buat. Dalam hal ini methodnya ane berinama actionDialogList().
[sourcecode language="java"]
public void actionDialogList(){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setTitle("Distro Linux");
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
Toast.makeText(context, items[arg1], Toast.LENGTH_LONG).show();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
[/sourcecode]
Setelah method selesai kita buat, saatnya memberikan event pada button yang kita tambahkan tadi. Tambahkan kode berikut pada method onCreate(Bundle savedInstanceState).
[sourcecode language="java"]
buttonList.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionDialogList();
}
});
[/sourcecode]
Untuk lebih jelasnya, berikut source lengkap MainActivity.java.
[sourcecode language="java"]
package com.is.dialogtest;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
Context context=this;
Button buttonNeutral;
Button buttonKeluar;
Button buttonList;
CharSequence items[]={"Ubuntu","Mandriva","Mint"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonNeutral=(Button) findViewById(R.id.btnNeutral);
buttonList=(Button) findViewById(R.id.btnList);
buttonKeluar=(Button) findViewById(R.id.btnKeluar);
buttonNeutral.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionNeutralButton();
}
});
buttonList.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionDialogList();
}
});
buttonKeluar.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionKeluar();
}
});
}
public void actionKeluar(){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setTitle("Konfirmasi");
builder.setMessage("Apakah Anda Akan Keluar ?");
builder.setCancelable(false);
builder.setPositiveButton("Ya", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
MainActivity.this.finish();
}
});
builder.setNegativeButton("Tidak", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
arg0.cancel();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
public void actionNeutralButton(){
new AlertDialog.Builder(this).setTitle("Ini Title")
.setMessage("Ini Message")
.setNeutralButton("Oke", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
//Tidak melakukan apapun
}
}).show();
}
public void actionDialogList(){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setTitle("Distro Linux");
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
Toast.makeText(context, items[arg1], Toast.LENGTH_LONG).show();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
[/sourcecode]
Langkah terkhir, jalankan aplikasi kawan-kawan.
Dan Akhirnya kita telah berhasil membuat Dialog List.
Bersambung ...
Dialog merupakan sebuah jendela kecil yang meminta pengguna untuk membuat keputusan atau memasukkan informasi tambahan (biasanya dialog ini disebut JOptionPane di Java dan MessageBox kalo di VB). Dengan kita menggunakan dialog maka aplikasi yang kita buat akan lebih interaktif. Dialog ini hampir sama fungsinya dengan Toast namun dialog dapat memiliki beberapa pilihan keputusan ataupun inputan pengguna.
Baiklah, untuk episode kali ini ane akan membuat dialog sederhana.
Langsung saja buka Eclipse kawan-kawan dan buat project baru. Dalam hal ini Ane beri nama DialogTest. Setelah selesai langsung buka activity_main.xml untuk mendesain aplikasinya. Berikut sourcenya.
[sourcecode language="xml"]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<Button
android:id="@+id/btnNeutral"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="14dp"
android:text="Dialog Neutral"
tools:ignore="HardcodedText" />
<Button
android:id="@+id/btnKeluar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="67dp"
android:text="Keluar"
tools:ignore="HardcodedText" />
</RelativeLayout>
[/sourcecode]
Seperti biasa, selanjutnya buka MainActivity.java dan disinilah kita akan memberikan event pada aplikasi kita. Dan berikut sourcecode lengkapnya.
[sourcecode language="java"]
package com.is.dialogtest;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
Button buttonNeutral;
Button buttonKeluar;
Context context=this;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonNeutral=(Button) findViewById(R.id.btnNeutral);
buttonKeluar=(Button) findViewById(R.id.btnKeluar);
buttonNeutral.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionNeutralButton();
}
});
buttonKeluar.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
actionKeluar();
}
});
}
public void actionKeluar(){
AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setTitle("Konfirmasi");
builder.setMessage("Apakah Anda Akan Keluar ?");
builder.setCancelable(false);
builder.setPositiveButton("Ya", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
MainActivity.this.finish();
}
});
builder.setNegativeButton("Tidak", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
arg0.cancel();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
public void actionNeutralButton(){
new AlertDialog.Builder(this).setTitle("Ini Title")
.setMessage("Ini Message")
.setNeutralButton("Oke", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
//Tidak melakukan apapun
}
}).show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
[/sourcecode]
Langkah terakhir, jalankan aplikasi kawan-kawan.
Bersambung ...
Friday 5 April 2013
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);atau bisa juga seperti
- Toast biasa
- Toast yang bisa kita atur posisinya saat dia tampil
- Custom Toast
- Buatlah Sebuah Project baru dan berinama ToastTest
Monday 1 April 2013
- Buka Eclipse kesayangan ente. Kemudian klik File – New – Android Application Project.