Professional Documents
Culture Documents
Mobile Computing
Mobile Computing
HANDOUT
MOBILE COMPUTING
MUKIDIN, S. KOM, MM
Daftar Isi
MODUL 1........................................................................................................ 3
PEMROGRAMAN DASAR DENGAN ECLIPSE......................................................3
MODUL 2...................................................................................................... 11
PEWARNAAN PADA ANDROID........................................................................11
Pelaksanaan Praktikum................................................................................. 11
MODUL 3...................................................................................................... 14
Pelaksanaan Praktikum................................................................................. 14
Tugas Praktikum:.......................................................................................... 20
MODUL 4...................................................................................................... 21
Pelaksanaan Praktikum................................................................................. 21
MODUL 5...................................................................................................... 27
Pelaksanaan Praktikum................................................................................. 27
Tugas Praktikum :......................................................................................... 33
MODUL 6...................................................................................................... 34
Pelaksanaan Praktikum................................................................................. 34
Tugas Praktikum........................................................................................... 38
MODUL 7...................................................................................................... 39
Pelaksanaan Praktikum................................................................................. 39
MODUL 8...................................................................................................... 49
Pelaksanaan Praktikum................................................................................. 49
MODUL 9...................................................................................................... 53
INTENT......................................................................................................... 53
Pelaksanaan Praktikum................................................................................. 53
MODUL 10.................................................................................................... 98
DATABASE SQLITE......................................................................................... 98
MODUL 1
PEMROGRAMAN DASAR DENGAN ECLIPSE
atau
handpone.
Dengan
mengunakan
aplikasi
mobile,
dapat
Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan
gratis dan open source, yang berarti setiap orang boleh melihat kode
pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang
membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh
pengguna dengan komponen yang dinamakan plug-in.
3. Instalasi
Eclipse
dapat
anda
peroleh
melalui
website
www.karya-it.com
10
Kemudian pada propertis TextView pertama pada text isikan dengan Ini
adalah program pertama saya. Sedangkan pada TextView kedua pembuatan
text dibuat melalui String.xml dimana String.xml terpadat pada package
Latihan1 => values
=> String.xml. pada String.xml silahkan ketik seperti gambar dibawah ini:
Gambar 1.11
String.xml Peringatan : Jangan lupa di simpan
Kemudian
kembali
layar_latihan1.xml
gambar dibawah ini:
ke
desain
project
dan
masuk
kedalam
11
12
Pada TextView pertama terlihat masih ada tanda seru sementara pada
TextView kedua tidak ada. Ini artinya pada text pada object harus dikenali
pada String.xml walapun tanda seru tersebut tidak membuat kesalahan pada
sistem.
Langkah 4 : Menjalankan Program
Pada langkah ini adalah menjalan program dengan emulator ada pun
caranya sebagai berikut :
Klik kanan pada package Latihan1 kemudian pilih Run As kemudian
pilih android application. Adapun hasilnya terlihat seperti gambar dibawah
ini:
1
0
1
1
MODUL 2
PEWARNAAN PADA ANDROID
Pada Modul 2 ini mahasiswa dituntut untuk mengetahui kode warna
pada android dan memperdalam perkenalan string.xml
Pelaksanaan Praktikum
Buka project baru dengan pilih dan klik Menu File => New => Android
Application Project.
Isi data project sesuai dengan tabel dibawah ini :
Tabel 2.1 Pengisian Nama Project Modul 2
Application Name
Latihan2
Project Name
Latihan2
Package Name
Nama.latihan2
Activity Name
Aktivitas
Layout Name
layar_aktivitas
Kemudian pada graphics layout pada propertis klik browse maka akan
tampil seperti gambar dibawah ini dan silahkan pilih warna yang akan
di beri bacground.
MODUL 3
PENGUNAAN TextView, PlainText dan Button
Pada modul ini mahasiswa akan mengetahui beberapa fungsi dan kegunaan
pada palette ecplise.
Pelaksanaan Praktikum
Buka project baru dengan pilih dan klik Menu File => New => Android
Application Project.
Isi data project sesuai dengan tabel dibawah ini
: Tabel 3.1 Pengisian Nama Project Modul 3
Application Name
Latihan3
Project Name
Latihan3
Package Name
Nama.latihan3
Activity Name
Aktivitas
Layout Name
layar_aktivitas
name="action_settings">Settings</string>
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="@string/judul" />
<TextView
android:id="@+id/widget36
"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/string1" />
<EditText
android:id="@+id/NIM
"
android:layout_width="189dp"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="number"
android:textSize="18sp" >
<requestFocus />
</EditText>
<Button
android:id="@+id/OK"
android:layout_width="74dp"
android:layout_height="wrap_content"
android:text="@string/string2" />
<Button
android:id="@+id/Hapus"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="@string/string3" />
<Button
android:id="@+id/Exit"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="@string/string4"/>
<TextView
android:id="@+id/HasilNIM
"
android:layout_width="wrap_content"
android:layout_height="wrap_content" /
>
android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Button;
import android.app.AlertDialog;
import android.content.DialogInterface;
public class Aktivitas extends ActionBarActivity implements OnClickListener {
EditText NIM;
Button
OK,Exit,Hapus;
TextView hNim;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layar_aktivitas);
NIM = (EditText)findViewById(R.id.NIM);
hNim = (TextView)findViewById(R.id.HasilNIM);
OK = (Button)findViewById(R.id.OK);
Exit = (Button)findViewById(R.id.Exit);
Hapus = (Button)findViewById(R.id.Hapus);
OK.setOnClickListener(this);
Exit.setOnClickListener(this);
Hapus.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.aktivitas,
menu);
return true;
}
public void hapus() {
hNim.setText("");
NIM.setText("");
NIM.requestFocus();
}
public void validasi() {
AlertDialog.Builder bValid = new AlertDialog.Builder(this)
.setMessage("Form Belum Lengkap").setTitle("Warning")
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int
which) {
// TODO Auto-generated method stub
}
});bValid.show();
}
public void onClick(View v) {
if(v==OK) {
if(NIM.getText().length()==0) {
validasi();
return;
}
String nim=NIM.getText().toString();
hNim.setText("Yang Anda Ketik : "+nim);
}else if(v==Hapus) {
hapus();
}else if (v==Exit) {
AlertDialog.Builder bExit = new AlertDialog.Builder(this)
.setMessage("Yakin ingin Keluar ?").setTitle("Konfirmasi Keluar")
.setPositiveButton("Ayeuna", new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int
which) {
// TODO Auto-generated method stub
finish();
}
})
.setNegativeButton("Ngkin", new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int
which) {
// TODO Auto-generated method stub
}
}); bExit.show();
}
}
}
Setelah anda selesaikan langkah di atas maka hasilnya seperti gambar dibawah
ini:
2
0
Tugas Praktikum:
Buatlah program sesuai dengan tampilan sebagai berikut :
2
1
MODUL 4
PENGUNAAN RadioButton
Pada modul ini mahasiswa akan mengetahui beberapa fungsi dan kegunaan
pada RadioButton.
Pelaksanaan Praktikum
Buka project baru dengan pilih dan klik Menu File => New => Android
Application Project.
Isi data project sesuai dengan tabel dibawah ini :
Tabel 4.1 Pengisian Nama Project Modul 4
Application Name
Latihan4
Project Name
Latihan4
Package Name
nama.latihan4
Activity Name
Aktivitas
Layout Name
layar_aktivitas
name="action_settings">Settings</string>
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="latih2.latih2.Latih2_radiobutton"
tools:ignore="MergeRootFrame" >
<TextView android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="@string/judul"
android:textSize="25sp"
/>
<RadioButton
android:id="@+id/radioButton1
" android:onClick="pilih_satu"
android:textSize="25sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:layout_marginTop="22dp"
android:text="@string/pilih1" />
<RadioButton
android:id="@+id/radioButton2"
android:textSize="25sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/radioButton1"
android:layout_marginTop="16dp"
android:onClick="pilih_dua"
android:text="@string/pilih2" />
<RadioButton
android:id="@+id/radioButton3"
android:textSize="25sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/radioButton2"
android:layout_marginTop="16dp"
android:onClick="pilih_tiga"
android:text="@string/pilih3" />
<TextView android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/radioButton3"
android:layout_marginTop="30dp"
android:text="@string/hasil"
android:textSize="25sp" />
</RelativeLayout>
android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.*;
public class Aktivitas extends ActionBarActivity {
TextView hasil;
RadioButton pilihan1,pilihan2,pilihan3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layar_aktivitas);
hasil=(TextView)findViewById(R.id.textView2);
pilihan1=(RadioButton)findViewById(R.id.radioButton1);
pilihan2=(RadioButton)findViewById(R.id.radioButton2);
pilihan3=(RadioButton)findViewById(R.id.radioButton3);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.aktivitas,
return true;
}
public void pilih_satu(View view)
menu);
{
if(pilihan1.isChecked())
{
pilihan2.setChecked(false);
pilihan3.setChecked(false);
hasil.setText("Hasil Pilihan Radiobutton 1");
}
}
public void pilih_dua(View view)
{
if(pilihan2.isChecked())
{
pilihan1.setChecked(false);
pilihan3.setChecked(false);
hasil.setText("Hasil Pilihan Radiobutton 2");
}
}
public void pilih_tiga(View view)
{
if(pilihan3.isChecked())
{
pilihan1.setChecked(false);
pilihan2.setChecked(false);
hasil.setText("Hasil Pilihan Radiobutton 3");
}
}
}
MODUL 5
PENGUNAAN CheckBox
Pada modul ini mahasiswa akan mengetahui beberapa fungsi dan kegunaan
pada CheckBox.
Pelaksanaan Praktikum
Buka project baru dengan pilih dan klik Menu File => New => Android
Application Project.
Isi data project sesuai dengan tabel dibawah ini :
Tabel 5.1 Pengisian Nama Project Modul 5
Application Name
Latihan5
Project Name
Latihan5
Package Name
nama.latihan5
Activity Name
Aktivitas
Layout Name
layar_aktivitas
name="action_settings">Settings</string>
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="latih3.latih3.Latih3"
tools:ignore="MergeRootFrame" >
<TextView android:id="@+id/textView1"
android:textSize="20sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="@string/ktrng" />
<CheckBox
android:id="@+id/checkBox1"
android:onClick="pilih_1"
android:textSize="20sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:layout_marginTop="25dp"
android:text="@string/pilih1" />
<CheckBox
android:id="@+id/checkBox2"
android:onClick="pilih_2"
android:textSize="20sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/checkBox1"
android:layout_marginTop="20dp"
android:text="@string/pilih2" />
<CheckBox
android:id="@+id/checkBox3"
android:onClick="pilih_3"
android:textSize="20sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/checkBox2"
android:layout_marginTop="31dp"
android:text="@string/pilih3" />
<TextView
android:id="@+id/textView2"
3
0
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/checkBox3"
android:layout_marginTop="68dp"
android:text="@string/hasil1"
android:textSize="20sp" />
<TextView android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/textView2"
android:layout_below="@+id/textView2"
android:layout_marginTop="16dp"
android:text="@string/hasil2"
android:textSize="20sp" />
<TextView android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView3"
android:layout_marginTop="14dp"
android:text="@string/hasil3"
android:textSize="20sp" />
</RelativeLayout>
Pada listing program terletak pada Aktivitas.java dengan koding sebagai berikut :
package alkho.latihan5;
import
android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
3
1
import android.widget.*;
else
{
hsl2.setText("Pilihan Kedua Tidak Dipilih");
}
}
public void pilih_3(View view)
{
if(pilihan3.isChecked())
{
hsl3.setText("Pilihan Ketiga Telah Dipilih");
}
else
{
hsl3.setText("Pilihan Ketiga Tidak Dipilih");
}
}
}
MODUL 6
Membuat Aplikasi Perhitungan
Pada modul ini mahasiswa akan mengetahui model-model perhitungan
pada aplikasi android.
Pelaksanaan Praktikum
Pada praktikum modul 6 ini kita akan membuat perhitugan sederhana
perhitungan luas persegi panjang.
Buka project baru dengan pilih dan klik Menu File => New => Android
Application Project.
Isi data project sesuai dengan tabel dibawah ini :
Tabel 6.1 Pengisian Nama Project Modul 6
Application Name
Latihan6
Project Name
Latihan6
Package Name
nama.latihan6
Activity Name
Aktivitas
Layout Name
layar_aktivitas
name="action_settings">Settings</string>
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="wrap_content"
android:layout_height="wrap_content" /
>
<TextView
android:text="@string/panjang"
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></TextView>
<EditText
android:text=""
android:id="@+id/txtPanjang"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="numberSigned|numberDecimal"></EditText>
<TextView
android:text="@string/lebar"
android:id="@+id/TextView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
<EditText
android:text=""
android:id="@+id/txtLebar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="numberSigned|numberDecimal">
</EditText>
<Button
android:text="@string/hitung"
android:id="@+id/btnHitung"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="hitungLuas">
</Button>
<TextView
android:text="@string/luas"
android:id="@+id/TextView03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<EditText
android:text="
"
android:id="@+id/txtLuas"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:editable="false">
></TextView>
</EditText>
</LinearLayout>
android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.*;
public class Aktivitas extends ActionBarActivity {
private EditText txtPanjang;
private EditText txtLebar;
private EditText txtLuas;
private Button btnHitung;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layar_aktivitas);
txtPanjang = (EditText) findViewById(R.id.txtPanjang);
txtLebar = (EditText) findViewById(R.id.txtLebar);
txtLuas = (EditText) findViewById(R.id.txtLuas);
btnHitung = (Button) findViewById(R.id.btnHitung);
}
public void hitungLuas(View view) {
try {
int panjang = Integer.parseInt(txtPanjang.getText().toString());
int lebar = Integer.parseInt(txtLebar.getText().toString());
int luas = panjang * lebar;
txtLuas.setText(String.valueOf(luas));
} catch (Exception e) {
e.printStackTrace();
}
}
Setelah menyelesaikan langkah di atas makan hasil program terletas pada gambar
di bawah ini :
Tugas Praktikum
Buatlah aplikasi android untuk mengitung bangun datar di bawah ini :
1.
MODUL 7
Pembuatan Age Calculator
Pada modul ini mahasiswa akan memperdalam pembuatan aplikasi android
dengan eclipse.
Pelaksanaan Praktikum
Pada praktikum modul 7 ini kita akan membuat perhitugan usia melalui
tanggal lahir dengan dua file java.
Buka project baru dengan pilih dan klik Menu File => New => Android
Application Project.
Isi data project sesuai dengan tabel dibawah ini :
Tabel 7.1 Pengisian Nama Project Modul 7
Application Name
Latihan7
Project Name
Latihan7
Package Name
nama.latihan7
Activity Name
Aktivitas
Layout Name
layar_aktivitas
4
0
name="action_settings">Settings</string>
4
0
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
4
1
tools:context="alkho.agecalcu.AgeCalcu"
tools:ignore="MergeRootFrame" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:text="@string/judul" />
<TextView android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/button1"
android:layout_marginTop="18dp"
android:text="@string/text1" />
<TextView android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:layout_marginTop="15dp"
android:text="@string/text2" />
<TextView android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView2"
android:layout_marginTop="16dp"
android:text="@string/text3" />
</RelativeLayout>
Kemudian tambahkan sebuah file java dengan cara mengcopy Aktivitas.java dan
diberi mana AgeCalculator.java dan kode programnya seperti dibawah ini:
package alkho.latihan7;
import java.util.Calendar;
import java.util.Date;
public class AgeCalculator
{ private int startYear;
private int startMonth;
private int startDay;
private int endYear;
private int endMonth;
private int endDay;
private int resYear;
private int resMonth;
private int resDay;
private Calendar start;
private Calendar end;
public String getCurrentDate()
{
end=Calendar.getInstance();
endYear=end.get(Calendar.YEAR);
endMonth=end.get(Calendar.MONTH);
endMonth++;
endDay=end.get(Calendar.DAY_OF_MONTH);
return endDay+":"+endMonth+":"+endYear;
}
public void setDateOfBirth(int sYear, int sMonth, int sDay)
{
startYear=sYear;
startMonth=sMonth;
startMonth++;
startDay=sDay;
}
public void calcualteYear()
{
resYear=endYear-startYear;
}
public void calcualteMonth()
{
if(endMonth>=startMonth)
{
resMonth= endMonth-startMonth;
}
else
{
resMonth=endMonth-startMonth;
resMonth=12+resMonth;
resYear--;
}
}
public void calcualteDay()
{
if(endDay>=startDay)
{
resDay= endDay-startDay;
}
else
{
resDay=endDay-startDay;
resDay=30+resDay;
if(resMonth==0)
{
resMonth=11;
resYear--;
}
else
{
resMonth--;
}
}
}
public String getResult()
{
return resDay+":"+resMonth+":"+resYear;
}
public long getSeconde()
{
start=Calendar.getInstance();
start.set(Calendar.YEAR, startYear);
start.set(Calendar.MONTH, startMonth);
start.set(Calendar.DAY_OF_MONTH,
startDay);
start.set(Calendar.HOUR, 12);
start.set(Calendar.MINUTE, 30);
start.set(Calendar.SECOND, 30);
start.set(Calendar.MILLISECOND, 30);
long now=end.getTimeInMillis();
long old=start.getTimeInMillis();
long diff=old-now;
return diff/1000;
}
}
package alkho.latihan7;
import
android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.os.Build;
import android.widget.*;
import android.view.View.OnClickListener;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.widget.DatePicker;
public class Aktivitas extends ActionBarActivity implements OnClickListener{
private Button btnStart;
static final int DATE_START_DIALOG_ID = 0;
private int startYear=1970;
private int startMonth=6;
private int startDay=15;
private AgeCalculator age = null;
private TextView currentDate;
private TextView birthDate;
private TextView result;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layar_aktivitas);
age=new AgeCalculator();
currentDate=(TextView)
findViewById(R.id.textView1);
findViewById(R.id.textView2);
result=(TextView)
findViewById(R.id.textView3);
btnStart=(Button)
findViewById(R.id.button1);
btnStart.setOnClickListener(this);
}
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_START_DIALOG_ID:
return new DatePickerDialog(this,
mDateSetListener,
startYear, startMonth, startDay);
}
return null;
}
private DatePickerDialog.OnDateSetListener mDateSetListener
= new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int selectedYear,
int selectedMonth, int selectedDay) {
startYear=selectedYear;
startMonth=selectedMonth;
startDay=selectedDay;
age.setDateOfBirth(startYear, startMonth, startDay);
birthDate.setText("Tanggal
Lahir(DD/MM/YY):
"+selectedDay+":"+(startMonth+1)+":"+startYear);
calculateAge();
}
};
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button1:
showDialog(DATE_START_DIALOG_ID);
break;
default:
break;
}
}
private void calculateAge()
{
age.calcualteYear();
age.calcualteMonth();
age.calcualteDay();
Toast.makeText(getBaseContext(), "click the resulted
button"+age.getResult() , Toast.LENGTH_SHORT).show();
result.setText("Umur Kamu (DD/MM/YY) :"+age.getResult());
}
}
Kemudian klik tombol date of birth dan hasilnya seperti dibawah ini:
MODUL 8
PENGUNAAN ListView
Pada modul ini mahasiswa akan memperdalam pembuatan aplikasi android
dengan eclipse.
Pelaksanaan Praktikum
Buka project baru dengan pilih dan klik Menu File => New => Android
Application Project.
Isi data project sesuai dengan tabel dibawah ini :
Tabel 8.1 Pengisian Nama Project Modul 8
Application Name
Latihan8
Project Name
Latihan8
Package Name
nama.latihan8
Activity Name
Aktivitas
Layout Name
layar_aktivitas
5
0
name="action_settings">Settings</string>
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/yangdipilih"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/pilihan" />
<ListView
android:id="@+id/list
"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawSelectorOnTop="false" >
</ListView>
5
1
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.os.Build;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.ArrayAdapter;
import android.app.ListActivity;
import android.widget.*;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
public class Aktivitas extends ActionBarActivity implements
OnItemClickListener {
private ListView ls_menu;
private String[] menu = {"Menu 1", "Menu 2", "Menu 3", "Menu 4",
"Menu 5"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layar_aktivitas );
ls_menu = (ListView) findViewById(R.id.list );
ArrayAdapter adapter = new
ArrayAdapter(this,android.R.layout.simple_list_item_1, menu);
ls_menu.setAdapter(adapter);
ls_menu.setOnItemClickListener(this);
}
public void onItemClick(AdapterView arg0, View arg1, int posisi,
long arg3) {
Toast.makeText(Aktivitas.this, "Anda memilih "+menu[posisi],
Toast.LENGTH_SHORT).show();
}
}
Adapun hasilnya terlihat pada gambar dibawah ini:
MODUL 9
INTENT
Pada modul ini mahasiswa akan memperdalam pembuatan aplikasi android
dengan eclipse.
Pelaksanaan Praktikum
Buka project baru dengan pilih dan klik Menu File => New => Android
Application Project.
Pada saat project pertama kali dibuat ada 3 file penting yang langsung dibuat,
yaitu
main.xml
string.xml
BelajarExplicitIntentActivity.java
Kemusian Kita siapkan layout untuk Activity pertama kita, edit main.xml
lalu isikan dengan kode berikut:
<?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="Main Activity"
/>
<TextView
android:text="Activity
1"
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></TextView>
7
1
<EditText
android:layout_height="wrap_content" android:id="@+id/editText1"
android:layout_width="match_parent">
<requestFocus></requestFocus>
</EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"></TextView>
<EditText
android:layout_height="wrap_content" android:id="@+id/editTextdr2"
android:layout_width="match_parent"></EditText>
<Button android:text="Call Second Activity"
android:id="@+id/btnOpen" android:layout_width="fill_parent"
android:layout_height="wrap_content"></Button>
</LinearLayout>
3. Siapkan juga layout activity ke dua, buat file xml baru lalu simpan dengan
nama main2.xml lalui isikan dengan kode berikut
<?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"
7
2
android:layout_height="wrap_content"
android:text="Second Activity"
/>
<TextView
android:id="@+id/textView1" android:layout_width="wrap_content"
android:layout_height="wrap_content"></TextView>
<EditText
android:layout_height="wrap_content" android:id="@+id/editTextdr1"
android:layout_width="match_parent">
</EditText>
<TextView
android:text="Activity
2"
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></TextView>
<EditText
android:layout_height="wrap_content" android:id="@+id/editText2"
android:layout_width="match_parent"></EditText>
<Button android:text="Close Second Activity"
android:id="@+id/btnClose" android:layout_width="fill_parent"
android:layout_height="wrap_content"></Button>
</LinearLayout>
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
7
3
import android.view.View;
import android.widget.Button;
public class BelajarExplicitIntentActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btnOpen = (Button) findViewById(R.id.btnOpen);
//set OnClickListener event to btnOpen
btnOpen.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
callIntent();
}
});
}
//method for call SecondActivity
public void callIntent(){
Intent i = new Intent(this, SecondActivity.class);
startActivity(i);
}
}
Perhatika kode
dengan
7
4
package com.agus.explicit.intent;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class SecondActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
Button btnOpen = (Button) findViewById(R.id.btnClose);
btnOpen.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method
stub finish(); //close activity
}
});
}
}
Jangan lupa daftarkan Activity (SecodActivity.java) yang kita buat tadi
pada Androidmanifest.xml dengan Tambahkan kode
<activity
android:label="SeconActivity" android:name=".SecondActivity"></activity>
</application>
Sehingga isi AndroidManifes.xmlmenjadi seperti ini
7
5
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.agus.explicit.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=".BelajarExplicitIntentActivity"
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:label="SeconActivity" android:name=".SecondActivity"></activity>
</application>
</manifest>
7. Sekarang mari kita jalankan programnya
Klik button Call Second Activity dan Klik tombol Close Second Activity
akan Menutup SecondActivity dan menampilkan Activity sebelumnya
Kita juga bisa mengirimkan data ke Activity yang dipanggil. Untuk
mengirimkan data
gunakan peritnha
putExtra,
untuk
itu
pada
class
7
6
method
onCreate
if (value1 != null ) {
EditText text1 = (EditText) findViewById(R.id.editText1);
text1.setText(value1);
}
sekarang mari kita run kembali dan Isi Inputan Activity 1 dengan mau makan apa
?, lalu klik button Call Second Activity, Secara ototmatis Inputan Dari Activity
1 akan terisi sesuai dengan isian yang kita inputkan pada Activity Pemanggil.
Isi inputan Activity 2 dengan nasi dengan ayam, lalu klik tombol Close
Second Activity Jawaban dari Second Activity tidak terbaca oleh Activity
Pemanggilnya.
7
7
Untuk membaca data yang dikirim dari SecondActivity pada saat Activity
tersebut
ditutup.
Maka
kita
perlu
menambahkan
kode
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import
android.widget.EditText;
public class BelajarExplicitIntentActivity extends Activity {
private static final int REQUEST_CODE = 1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btnOpen = (Button) findViewById(R.id.btnOpen);
//set OnClickListener event to btnOpen
btnOpen.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) {
callIntent();
}
});
}
pada
class
7
8
(resultCode
==
RESULT_OK
&&
requestCode
== REQUEST_CODE) {
if (data.hasExtra("return_value1")) {
EditText
text2
(EditText)
findViewById(R.id.editTextdr2);
text2.setText(data.getExtras().getString("return_value1"));
}
}
}
}
7
9
if (value1 != null ) {
EditText
text1
(EditText)
findViewById(R.id.editTextdr1);
text1.setText(value1);
}
8
0
@Override
public void finish() {
Intent data = new Intent();
EditText text2 = (EditText) findViewById(R.id.editText2);
String dataactivity_2 = text2.getText().toString();
data.putExtra("return_value1", dataactivity_2);
setResult(RESULT_OK, data);
super.finish();
}
}
Agar dapat mengirim data ke activity pemanggil pada saat activity ini diclose
maka kita perlu mengoverride method finish
Sekarang
mari
kita
jalankan
programnya,
lakukan
langkah-langkah
sebelumnya, Sekarang pada saat kta klik tombol Close Second Activity maka
tampilannya adalah Kita telah berhasil membaca data yang dikirimkan oleh
Second Activity, agar lebih memahami cobalah praktekan konsep Explicit
Intent ini pada aplikasi yang kita buat. Kita sudah belajar tentang Explicit
Intent, ada tugas nih buatlah aplikasi yang Activity pertamanya berisi List
nama buah yang pabila diklik akan memanggil Activity ke 2 yang akan
menampilkan gambar buahnya
8
1
main.xml
string.xml
BelajarExplicitIntentActivity.java
2. Kita siapkan layout untuk Activity pertama kita, edit main.xml lalu isikan
dengan kode berikut
<?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"
>
8
2
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Main Activity"
/>
<TextView android:text="Activity 1" android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></TextView>
<EditText android:layout_height="wrap_content" android:id="@+id/editText1"
android:layout_width="match_parent">
<requestFocus></requestFocus>
</EditText>
<TextView android:text="Dari Activity 2" android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></TextView>
<EditText android:layout_height="wrap_content"
android:id="@+id/editTextdr2"
android:layout_width="match_parent"></EditText>
<Button android:text="Call Second Activity" android:id="@+id/btnOpen"
android:layout_width="fill_parent"
android:layout_height="wrap_content"></Button>
</LinearLayout>
3. Siapkan juga layout activity ke dua, buat file xml baru lalu simpan dengan
nama main2.xml lalui isikan dengan kode berikut
<?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"
>
8
3
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Second Activity"
/>
<TextView android:text="Dari Activity 1" android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></TextView>
<EditText android:layout_height="wrap_content"
android:id="@+id/editTextdr1" android:layout_width="match_parent">
</EditText>
<TextView android:text="Activity 2" android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></TextView>
<EditText android:layout_height="wrap_content" android:id="@+id/editText2"
android:layout_width="match_parent"></EditText>
<Button android:text="Close Second Activity" android:id="@+id/btnClose"
android:layout_width="fill_parent"
android:layout_height="wrap_content"></Button>
</LinearLayout>
4. Sekarang masuk ke file javanya, edit File BelajarExplicitIntentActivity.java
lalu isikan kode berikut
package com.agus.explicit.intent;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class BelajarExplicitIntentActivity extends Activity {
8
4
8
5
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class SecondActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
Button btnOpen = (Button) findViewById(R.id.btnClose);
btnOpen.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
finish(); //close activity
}
});
}
}
6. Jangan lupa daftarkan Activity (SecodActivity.java) yang kita buat tadi pada
Androidmanifest.xml.
Tambahkan kode
<activity android:label="SeconActivity"
android:name=".SecondActivity"></activity>
</application>
Sehingga isi AndroidManifes.xmlmenjadi seperti ini
<?xml version="1.0" encoding="utf-8"?>
8
6
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.agus.explicit.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=".BelajarExplicitIntentActivity"
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:label="SeconActivity"
android:name=".SecondActivity"></activity>
</application
>
</manifest>
7. Sekarang mari kita jalankan programnya
8
7
8
8
8
9
if (value1 != null ) {
EditText text1 = (EditText)
findViewById(R.id.editText1);
text1.setText(value1);
}
10.
Activity tersebut ditutup. Maka kita perlu menambahkan kode pada class
BelajarExplicitIntentActivity.java berikut kode lengkapnya.
package com.agus.explicit.intent;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class BelajarExplicitIntentActivity extends Activity
{ private static final int REQUEST_CODE = 1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btnOpen = (Button) findViewById(R.id.btnOpen);
//set OnClickListener event to btnOpen
btnOpen.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
callIntent();
}
});
}
@Override
REQUEST_CODE)
{
if (data.hasExtra("return_value1"))
{ EditText text2 =
(EditText)
findViewById(R.id.editTextdr2);
text2.setText(data.getExtras().getString("return_value1"));
}
}
}
}
Perhatikan code startActivityForResult(i, REQUEST_CODE);
Agar Activity pemanggil dapat menangkap data yang dikirimkan oleh
activity yang dipanggil, maka kita harus menggunakan
perintahstartActivityForResult dan kita harus mengoveride
method onActivityResult
12.
Bundle extras =
getIntent().getExtras(); if (extras ==
null) {
return;
}
String value1 = extras.getString("value1");
if (value1 != null ) {
EditText text1 = (EditText)
findViewById(R.id.editTextdr1);
text1.setText(value1);
}
@Override
public void finish() {
Intent data = new Intent();
EditText text2 = (EditText) findViewById(R.id.editText2);
String dataactivity_2 = text2.getText().toString();
data.putExtra("return_value1", dataactivity_2);
setResult(RESULT_OK, data);
super.finish();
}
}
Agar dapat mengirim data ke activity pemanggil pada saat activity ini diclose
maka kita perlu mengoverride method finish
13.
14.
Kita telah berhasil membaca data yang dikirimkan oleh Second Activity,
agar lebih memahami cobalah praktekan konsep Explicit Intent ini pada
aplikasi yang kita buat.
Kita sudah belajar tentang Explicit Intent, ada tugas nih buatlah aplikasi yang
Activity pertamanya berisi List nama buah yang pabila diklik akan memanggil
Activity ke 2 yang akan menampilkan gambar buahnya
8
0
MODUL 10
DATABASE SQLITE
Berikut merupakan contoh penggunaan sqlite ini saya akan membuat
sebuah aplikasi android untuk menyimpan Contact, data yang saya simpan
adalahNama
dan
Nomer
Telepon.
Untuk
langkah
pertama
saya
8
0
8
1
8
2
{
private static final String
DB_NAME
= "contact_db";
= 1;
TABLE_NAME
=
COL_ID=
COL_TELP
TAG
= "telp";
=
"ContactDBAdapter";
private DatabaseHelper
dbHelper;
private SQLiteDatabase
db;
(_id integer primary key, name text not null, telp text not null);";
private final Context
context;
@Override
public void onCreate(SQLiteDatabase db)
{
// TODO Auto-generated method stub
db.execSQL(DB_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int
newVersion)
{
// TODO Auto-generated method stub
Log.d(TAG, "upgrade DB");
db.execSQL("DROP TABLE IF EXISTS "
+
TABLE_NAME);
onCreate(db);
}
}
public DBAdapter(Context context)
{
this.context = context;
// TODO Auto-generated constructor stub
}
public DBAdapter open() throws SQLException
{
dbHelper.close();
}
if (cursor != null)
cursor.moveToFirst();
return cursor;
}
val
new
ContentValues();
val.put(COL_NAME,
contact.getName()); val.put(COL_TELP,
contact.getTelp());
return db.update(TABLE_NAME, val, COL_ID + "=" +
contact.getId(), null) > 0;
}
pada class DBAdapter, terdapat method untuk update, insert, sampai delete..
untuk class mainactivitynya penampakannya seperti berikut :
package com.example.sqlitetutorials;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import
android.database.Cursor;
import android.support.v4.widget.SimpleCursorAdapter;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.EditText;
import android.widget.ListView;
KEY_ID
Menu.FIRST; EditText
empty;
private ListView
listview;
private DBAdapter
db;
= "_id";
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
db = new DBAdapter(this);
db.open();
loadData();
{
// TODO Auto-generated method stub
Cursor cur = db.getAllContact();
String[] from = new String[]
{
DBAdapter.COL_NAME, DBAdapter.COL_TELP
};
int[] to = new int[]
{
R.id.txtName, R.id.txtPhoneNumber
};
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
menu.add(0, INSERT_ID, 0, R.string.menu_add);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
case INSERT_ID:
startActivity(new
AddContact.class))
;
Intent(MainActivity.this, break;
9
1
}
return super.onOptionsItemSelected(item);
}
@Override
public void onItemClick(AdapterView<?> arg0, View v, int pos, long id)
{
// TODO Auto-generated method stub
Bundle bundle = new Bundle();
bundle.putLong(KEY_ID, id);
Intent intent = new Intent(MainActivity.this, EditActivity.class);
intent.putExtras(bundle);
db.close();
startActivity(intent
);
}
di
file
mainActivity
saya
menggunakan
SimpleCursorAdapter
untuk
menampilkan data yang ada kedalam listview yang sudah saya tambahkan
di file xml nya. Kemudian mainActivity ini juga memiliki menu option yang
akan muncul ketika user mengklik tombol menu yang ada di handset, jika user
menekan tombol menu, maka akan muncul menu Insert dan activity berpindah
ke AddContact,
untuk file main_activity.xml sebagai berikut :
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
9
2
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
<TextView
android:id="@+id/empty"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Empty Data" />
</RelativeLayout>
untuk class AddContact sebagai berikut :
package com.example.sqlitetutorials;
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;
import android.widget.EditText;
public class AddContact extends Activity implements OnClickListener
{
9
3
EditText
inputName,
db;
@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method
stub
super.onCreate(savedInstanceState);
db = new DBAdapter(this);
db.open();
setContentView(R.layout.add);
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
switch (v.getId())
{
case R.id.btnAdd:
Contact contact = new Contact();
contact.setName(inputName.getText().toString());
contact.setTelp(inputNumber.getText().toString());
9
4
db.createContact(contact);
startActivity(new Intent(AddContact.this,
MainActivity.class));
db.close();
finish();
break;
default:
break;
}
android:hint="@string/hint_phone"
android:inputType="numberPassword" />
<Button
android:id="@+id/btnAdd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_add" />
</LinearLayout
>
untuk bagian edit atau delete contact saya membuat sebuah activity yakni
EditActivity untuk menangani Edit contact dam delete contact
package com.example.sqlitetutorials;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import
android.database.Cursor;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
db;
EditText
editName,
editPhone; Button
btnSave,
btnDelete;
int
id;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edit)
; db = new DBAdapter(this);
db.open();
Bundle b = getIntent().getExtras();
id = (int) b.getLong(MainActivity.KEY_ID);
editName = (EditText)
findViewById(R.id.editName); editPhone =
(EditText) findViewById(R.id.editPhone);
btnSave = (Button) findViewById(R.id.editBtnSave);
btnDelete = (Button) findViewById(R.id.editBtnDelete);
btnSave.setOnClickListener(this);
btnDelete.setOnClickListener(this);
tampilData();
}
{
// TODO Auto-generated method stub
Cursor cursor = db.getSingleContact(id);
editName.setText(cursor.getString(cursor.getColumnIndexOrThrow(DBA
dapter.COL_NAME)));
editPhone.setText(cursor.getString(cursor.getColumnIndexOrThrow(DBA
dapter.COL_TELP)));
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.edit, menu);
return true;
}
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
switch (v.getId())
{
case R.id.editBtnSave:
;
contact.setTelp(editPhone.getText().toString());
db.updateContact(contact);
startActivity(new
MainActivity.class));
Intent(EditActivity.this,
finish();
break;
case R.id.editBtnDelete:
db.deleteContact(id);
MainActivity.class));
startActivity(new Intent(EditActivity.this,
finish();
break;
file xmlnya..
<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".EditActivity" >
<TextView
android:id="@+id/editex"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="@string/str_name" />
<EditText
android:id="@+id/editName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editex
"
android:layout_below="@+id/editex"
android:layout_marginTop="14dp"
android:ems="10" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editName"
android:layout_below="@+id/editName"
android:layout_marginTop="32dp"
android:text="@string/str_hp" />
<EditText
android:id="@+id/editPhone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1
" android:layout_below="@+id/textView1"
android:layout_marginTop="27dp"
android:ems="10"
android:inputType="phone" />
<Button
android:id="@+id/editBtnSave"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editPhone"
android:layout_below="@+id/editPhone"
android:layout_marginTop="35dp"
android:text="Save" />
<Button
android:id="@+id/editBtnDelete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/editBtnSave"
android:layout_alignBottom="@+id/editBtnSave"
android:layout_alignRight="@+id/editPhone"
android:text="Delete" />
</RelativeLayout>
listview.setEmptyView(findViewById(R.id.empty));
10
0
10
1