Praktikum CRUD SQlite Android Programming
Praktikum CRUD SQlite Android Programming
SQLite
Kali ini, akab dibahas tentang bagaimana caranya membuat aplikasi database Android. Sistem operasi
Android mempunyai library database sendiri yang bernama SQLite. SQLite sendiri adalah sebuah library
database cross platform yang ditulis menggunakan bahasa C, dan dengan ukuran database yang sangat kecil.
Sehingga sangat cocok untuk diimplementasikan pada perangkat mobile yang notabene mempunyai
kapasitas ruang penyimpanan yang terbatas. Selain Android, SQLite juga diimplementasikan pada perangkat
lain, contohnya pada iOS, sistem operasi untuk iPhone. Dan juga digunakan oleh banyak pengguna lainnya.
id
nama_barang
merk_barang, dan
harga_barang
Karena itu kita nantinya akan membuat suatu objek barang yang mempunyai atribut-atribut seperti di atas.
Kelas inilah yang akan berfungsi sebagai Model.
Android Database SQLite Tutorial (I) : Membuat Database SQLite
Seperti yang sudah dijelaskan sebelumnya, aplikasi ini nantinya akan menggunakan database SQLite dan
memakai paradigma MVC.
Lets Get Started
Langsung saja, pertama-tama kita buat sebuah project Android baru terlebih dahulu. Nama package nya
terserah, tapi pada program ini nama package-nya adalah id.poltekpos.appinventory. Silahkan nanti
disesuaikan. Kemudian, karena aplikasi ini menggunakan paradigma MVC. Maka kita akan buat kelas
modelnya, yaitu kelas Barang.java.
Kelas barang berfungsi untuk mendefinisikan objek barang beserta fungsi-fungsi dan atribut-atributnya. Yah
seperti barang pada umumnya, mereka mempunyai nama, ID, merk, dan sebagainya. Inilah kode untuk
kelas Barang.java.
package id.poltekpos.appinventory;
public class Barang {
private long id;
private String nama_barang;
private String merk_barang;
private String harga_barang;
public Barang()
{
}
/**
* @return the id
*/
public long getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(long id) {
this.id = id;
}
/**
* @return the nama_barang
*/
public String getNama_barang() {
return nama_barang;
}
/**
* @param nama_barang the nama_barang to set
*/
public void setNama_barang(String nama_barang) {
this.nama_barang = nama_barang;
}
/**
* @return the merk_barang
*/
public String getMerk_barang() {
return merk_barang;
}
/**
* @param merk_barang the merk_barang to set
*/
public void setMerk_barang(String merk_barang) {
this.merk_barang = merk_barang;
}
/**
* @return the harga_barang
*/
public String getHarga_barang() {
return harga_barang;
}
/**
* @param harga_barang the harga_barang to set
*/
public void setHarga_barang(String harga_barang) {
this.harga_barang = harga_barang;
}
@Override
public String toString()
{
return "Barang "+ nama_barang +" "+ merk_barang + " "+ harga_barang;
}
Oke, Model nya sekarang sudah ada. Kelas tersebut hanya berisi atribut dan fungsifungsi getter dan setter. Setelah kelas barang selesai dibuat, kita akan melanjutkan dengan membuat
kelas Database Helper.
Database Helper
Sesuai namanya, kelas ini berfungsi untuk memudahkan kita dalam membuat dan mengakses database
SQLite yang akan dipakai oleh aplikasi. Kelas ini kebanyakan berisi method-method berkaitan dengan
manajemen database, seperti onUpgrade() dan onCreate().
Database Helper sebenarnya sudah ada kelasnya pada Android, yaitu bernama SQLiteOpenHelper. Sehingga
kita tinggal meng-extends kelas ini dari kelas SQLiteOpenHelper, atau dengan kata lain, melakukan
pewarisan.
Inilah kode untuk kelas DBHelper.java :
package id.poltekpos.appinventory;
//deklarasi import package
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DBHelper extends SQLiteOpenHelper{
/** deklarasi konstanta-konstanta yang digunakan pada database, seperti nama
tabel,
nama-nama kolom, nama database, dan versi dari database **/
public static final String TABLE_NAME = "data_inventori";
public static final String COLUMN_ID = "_id";
Oke, seperti yang bisa kita lihat di atas. Kelas DBHelper.java kebanyakan berisi konstanta-konstanta seperti
nama tabel, nama database, nama kolom, dan sebagainya. Hal ini untuk memudahkan kita nantinya. Dimana
ketika ingin menggunakan konstanta tersebut, kita tidak usah lagi menulis nama tabel berulang kali, namun
cukup dengan mengaksesnya dari kelas DBHelper.
Kemudian ada juga konstanta berupa SQL statement, yang untuk mereka yang ahli database, sebenarnya
perintah itu digunakan untuk membuat tabel database baru. Perintah SQL tersebut kemudian akan dieksekusi
pada method onCreate().
Lets Begin
Sekarang buka kembali project Aplikasi Inventaris kalian. Di pertemuan sebelumnya kita sudah membuat
kelas Barang.java yang berfungsi sebagai Model objek barang, dan kelas DBHelper.java yang berfungsi
untuk mempermudah aplikasi dalam membuat dan mengakses database. Sekarang untuk kelanjutannya, kita
akan membuat sebuah kelas yang berfungsi untuk insert data atau create data. Kelas ini berfungsi untuk
menambahkan data barang baru ke database. Dan inilah daftar file-file yang akan kita buat :
DBDataSource.java : berfungsi sebagai Controller, kelas inilah yang nantinya berguna untuk
melakukan operasi-operasi pada database, termasuk operasi Create Data
Pertama-tama, kita akan membuat kelas Menu terlebih dahulu, karena itu kita butuh file layout-nya. Buka
folder res/layout pada proyek kalian, dan buat sebuah file xml baru dengan nama menu.xml Isikan kode
berikut :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:id="@+id/nama_app"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:textSize="20sp"
android:text="poltekpos.ac.id"
/>
<Button
android:id="@+id/button_tambah"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/nama_app"
android:layout_centerHorizontal="true"
android:text="Tambah Data"
/>
</RelativeLayout>
Yups, kali ini layout di atas menggunakan Relative Layout supaya mudah mengatur posisinya. Layout di
atas hanya berisi Nama Aplikasi dan sebuah tombol untuk Tambah Data.
Setelah itu, kita akan membuat kelas Main Menunya, buat sebuah activity class bernama Menu.java
package id.poltekpos.appinventory;
import
import
import
import
import
import
android.app.Activity;
android.content.Intent;
android.os.Bundle;
android.view.View;
android.view.View.OnClickListener;
android.widget.Button;
Kelas ini berfungsi untuk menampilkan tombol Tambah Data, yang apabila kita klik akan berpindah
ke Activity Create Data. Karena kelas Create Data nya belum ada, selanjutnya kita akan membuat kelas
tersebut. Namun kita akan membuat file xml layout-nya terlebih dahulu, yang bernama create_data.xml :
<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/nama_barang"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:inputType="text"
android:hint=Nama Barang"
android:ems="10" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/merk_barang"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:inputType="text"
android:hint="Merk Barang"
android:ems="10" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/harga_barang"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:inputType="number"
android:hint="Harga Barang"
android:ems="10" >
<requestFocus />
</EditText>
<Button
android:id="@+id/buttom_submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Submit"
/>
</LinearLayout>
Layout di atas berisi EditText yang berfungsi sebagai wadah inputan tiga buah informasi dasar, yaitu nama
barang, merk barang dan harga barang, dan sebuah tombol submit di bawahnya. Setelah itu, kita akan
buat Activity CreateData. Aktivitas ini berfungsi sebagai View dalam paradigma Model-View-Controller
yang kita gunakan. Atau dengan kata lain kelas ini menyediakan sebuah interface untuk menambahkan
barang. Langsung saja kita buat kelas baru bernama CreateData.java
package id.poltekpos.appinventory;
import
import
import
import
import
import
import
android.os.Bundle;
android.app.Activity;
android.view.View;
android.view.View.OnClickListener;
android.widget.Button;
android.widget.EditText;
android.widget.Toast;
setContentView(R.layout.create_data);
buttonSubmit = (Button) findViewById(R.id.buttom_submit);
buttonSubmit.setOnClickListener(this);
edNama = (EditText) findViewById(R.id.nama_barang);
edHarga = (EditText) findViewById(R.id.harga_barang);
edMerk = (EditText) findViewById(R.id.merk_barang);
// instanstiasi kelas DBDataSource
dataSource = new DBDataSource(this);
//membuat sambungan baru ke database
dataSource.open();
}
//KETIKA Tombol Submit Diklik
@Override
public void onClick(View v) {
// Inisialisasi data barang
String nama = null;
String merk = null;
String harga = null;
@SuppressWarnings("unused")
//inisialisasi barang baru (masih kosong)
Barang barang = null;
if(edNama.getText()!=null && edMerk.getText()!=null && edHarga.getText()!=null)
{
/* jika field nama, merk, dan harga tidak kosong
* maka masukkan ke dalam data barang*/
nama = edNama.getText().toString();
merk = edMerk.getText().toString();
harga = edHarga.getText().toString();
}
switch(v.getId())
{
case R.id.buttom_submit:
// insert data barang baru
barang = dataSource.createBarang(nama, merk, harga);
//konfirmasi kesuksesan
Toast.makeText(this, "masuk Barang\n" +
"nama" + barang.getNama_barang() +
"merk" + barang.getMerk_barang() +
"harga" + barang.getHarga_barang(), Toast.LENGTH_LONG).show();
break;
}
}
}
Nah, sekarang kita sudah membuat sebuah interface/antar muka untuk menginputkan data. Yang kita
perlukan sekarang adalah sebuah Controller yang akan menyambungkan interface tersebut dengan database
yang kita buat. Jika kalian copy pastekan kode di atas akan ada error, tapi biarkan saja. Karena error tersebut
disebabkan oleh kelas kontroler DBDataSource yang belum kita buat. Salah satu error yang muncul adalah
pada bagian inisialiasi DBDataSource seperti berikut :
private DBDataSource dataSource;
Oke, langsung kita buat saja file baru bernama DBDataSource.java. Kodenya seperti berikut :
package id.poltekpos.appinventory;
import
import
import
import
import
import
import
java.util.ArrayList;
android.content.ContentValues;
android.content.Context;
android.database.Cursor;
android.database.SQLException;
android.database.sqlite.SQLiteDatabase;
android.util.Log;
Untuk penjelasan tiap baris kodenya, bisa dibaca pada komentar-komentar yang ada di atas. Adapun cara
kerjanya sebagai berikut, pertama-tama kita kembali ke kelas CreateData.java. Apabila kita telah mengisi
data barang dan mengklik tombol submit, data barang tersebut akan dilempar ke Controller. Kemudian
kontroler akan menerima inputan data barang tersebut dan memasangkannya sesuai dengan nama kolom
pada database menggunakan ContentValues. Untuk selanjutnya dimasukkan ke database.
Setelah dimasukkan, data akan dicek kembali menggunakan SQL select yang mengembalikan data
berupa Cursor. Data kursor tersebut kemudian akan diubah menjadi objek barang, dan dilemparkan lagi ke
kelas CreateData untuk kemudian mengkonfirmasikan data apa saja yang barusan kita masukkan.
Yang terakhir, kita akan memodifikasi Android Manifest. Kita pindahkan intent filter launcher nya ke
Activity Menu supaya aktivitas tersebut yang dijalankan pertama kali apabila aplikasi dibuka.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="id.poltekpos.appinventory"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="id.poltekpos.appinventory.CreateData"
android:label="@string/title_activity_main" >
</activity>
<activity
android:name=".Menu"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Thats all.
/>
<Button
android:id="@+id/button_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/button_tambah"
android:layout_centerHorizontal="true"
android:text="@string/tombol_lihat"
/>
</RelativeLayout>
android.app.Activity;
android.content.Intent;
android.os.Bundle;
android.view.View;
android.view.View.OnClickListener;
android.widget.Button;
Kita menambahkan button kedua, yaitu button_view, yang apabila di-klik akan membawa kita ke
aktivitas ViewData yang akan kita buat. Apabila ada error, biarkan saja untuk sementara.
Oke, sekarang kita akan meng-update kontroller aplikasi, yaitu file DataSource.java untuk menambahkan
fungsi getAllBarang() yang berfungsi untuk mengambil semua data barang dari database. Seperti inilah
fungsinya. Tambahkan pada bagian sebelum kurung tutup terakhir :
java.util.ArrayList;
android.content.ContentValues;
android.content.Context;
android.database.Cursor;
android.database.SQLException;
android.database.sqlite.SQLiteDatabase;
android.util.Log;
cursor.moveToFirst();
// jika masih ada data, masukkan data barang ke
// daftar barang
while (!cursor.isAfterLast()) {
Barang barang = cursorToBarang(cursor);
daftarBarang.add(barang);
cursor.moveToNext();
}
// Make sure to close the cursor
cursor.close();
return daftarBarang;
Kontroller sudah diperbarui, sekarang tinggal membuat view baru untuk menampilkan data barang yang ada
pada database. Kita akan membuat layoutnya dulu, buat file xml layout baru dengan nama viewdata.xml.
Dan isikan kode berikut :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<TextView
android:id="@+id/data_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/title_view"
android:layout_gravity="center_horizontal"
android:background="#0000ff"
/>
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
Kita menggunakan ListView layout untuk menampilkan data barang pada aplikasi. Setelah itu, kita akan
membuat file activity-nya bernama ViewData.java. Pada kelas tersebut, data barang yang diambil akan
dimasukkan ke dalam ArrayList yang nantinya akan diset menggunakan ArrayAdapter. Ini adalah kode
untuk kelas ViewData.java :
package id.poltekpos.appinventory;
import java.util.ArrayList;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
public class ViewData extends ListActivity {
//inisialisasi kontroller
private DBDataSource dataSource;
//inisialisasi arraylist
private ArrayList<Barang> values;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.viewdata);
dataSource = new DBDataSource(this);
// buka kontroller
dataSource.open();
// ambil semua data barang
values = dataSource.getAllBarang();
// masukkan data barang ke array adapter
ArrayAdapter<Barang> adapter = new ArrayAdapter<Barang>(this,
android.R.layout.simple_list_item_1, values);
// set adapter pada list
setListAdapter(adapter);
}
Yang terakhir adalah memodifikasi Android Manifest dengan menambahkan View Data ke dalam
daftar aktivitas. Buka file AndroidManifest.xml dan masukkan kode berikut :
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="id.poltekpos.appinventory"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="id.poltekpos.appinventory.CreateData"
android:label="@string/title_activity_main" >
</activity>
<activity
android:name=".Menu"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ViewData"
android:label="@string/title_activity_main" >
</activity>
</application>
</manifest>
Method itu akan mengambil satu barang berdasarkan id barang yang kita definisikan. Dan data yang sudah
diambil itulah yang nantinya akan diedit.
Kemudian ini adalah method untuk update data, tambahkan juga pada DBDataSource.java
//update barang yang diedit
public void updateBarang(Barang b)
{
//ambil id barang
String strFilter = "_id=" + b.getId();
//memasukkan ke content values
ContentValues args = new ContentValues();
//masukkan data sesuai dengan kolom pada database
args.put(DBHelper.COLUMN_NAME, b.getNama_barang());
args.put(DBHelper.COLUMN_MERK, b.getMerk_barang());
args.put(DBHelper.COLUMN_HARGA, b.getHarga_barang() );
//update query
database.update(DBHelper.TABLE_NAME, args, strFilter, null);
}
java.util.ArrayList;
android.content.ContentValues;
android.content.Context;
android.database.Cursor;
android.database.SQLException;
android.database.sqlite.SQLiteDatabase;
cursor.moveToFirst();
//masukkan data cursor ke objek barang
barang = cursorToBarang(cursor);
//tutup sambungan
cursor.close();
//return barang
return barang;
Setelah itu, kita buat layout file baru bernama edit_data.xml. File ini adalah layout untuk Edit View.
Tambahkan kode berikut pada edit_data.xml.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:id="@+id/text_id_barang"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/title_edit"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:background="#0000ff"
/>
<EditText
android:id="@+id/editText_nama"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:layout_marginTop="15dp"
android:background="#afffffff"
android:layout_below="@id/text_id_barang"
>
<requestFocus />
</EditText>
<EditText
android:id="@+id/editText_merk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:layout_marginTop="15dp"
android:background="#afffffff"
android:layout_below="@id/editText_nama"
/>
<EditText
android:id="@+id/editText_harga"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:layout_marginTop="15dp"
android:background="#afffffff"
android:layout_below="@id/editText_merk"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center"
android:layout_below="@id/editText_harga"
>
<Button
android:id="@+id/button_save_update"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/tombol_edit"
/>
<Button
android:id="@+id/button_cancel_update"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/tombol_cancel"
/>
</LinearLayout>
</RelativeLayout>
java.util.ArrayList;
android.app.Dialog;
android.app.ListActivity;
android.content.Intent;
android.os.Bundle;
android.view.View;
android.view.View.OnClickListener;
android.widget.AdapterView;
android.widget.AdapterView.OnItemLongClickListener;
android.widget.ArrayAdapter;
android.widget.Button;
android.widget.ListView;
Barang b = dataSource.getBarang(id);
Intent i = new Intent(this, EditData.class);
Bundle bun = new Bundle();
bun.putLong("id", b.getId());
bun.putString("nama", b.getNama_barang());
bun.putString("merk", b.getMerk_barang());
bun.putString("harga", b.getHarga_barang());
i.putExtras(bun);
finale();
startActivity(i);
Oke, dari kode di atas kita bisa lihat bahwa sebagian besar perubahan ada pada fungsi untuk mengeset
OnClickListener pada item di listview. Jadi cara kerjanya, apabila list item diklik dan kemudian ditahan klik
itu (long click), nanti akan muncul alert dialog yang memberikan pilihan kepada kita. Apakah ingin delete
data, atau edit data. Apabila kita mengklik tombol edit data, maka kita akan dibawa ke activity untuk edit
data.
android.app.Activity;
android.content.Intent;
android.os.Bundle;
android.view.View;
android.view.View.OnClickListener;
android.widget.Button;
android.widget.EditText;
android.widget.TextView;
long id;
String harga;
String merk;
String nama;
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId())
{
// apabila tombol save diklik (update barang)
case R.id.button_save_update :
barang = new Barang();
barang.setHarga_barang(edHarga.getText().toString());
barang.setNama_barang(edNama.getText().toString());
barang.setMerk_barang(edMerk.getText().toString());
barang.setId(id);
dataSource.updateBarang(barang);
Intent i = new Intent(this, ViewData.class);
startActivity(i);
EditData.this.finish();
dataSource.close();
break;
// apabila tombol cancel diklik, finish activity
case R.id.button_cancel_update :
finish();
dataSource.close();
break;
}
Activity EditData.java pada dasarnya berfungsi untuk mengambil data barang yang mau diedit, seperti
nama, merk, dan harga. Untuk kemudian data tersebut ditempatkan pada field EditText supaya bisa kita
ganti. Setelah selesai, maka kita mengklik tombol Save dan kemudian activity akan memanggil method
updateBarang() pada kontroller, yang akan melakukan update data lewat SQL Query.
java.util.ArrayList;
android.content.ContentValues;
android.content.Context;
android.database.Cursor;
android.database.SQLException;
android.database.sqlite.SQLiteDatabase;
daftarBarang.add(barang);
cursor.moveToNext();
}
// Make sure to close the cursor
cursor.close();
return daftarBarang;
}
//ambil satu barang sesuai id
public Barang getBarang(long id)
{
Barang barang = new Barang(); //inisialisasi barang
//select query
Cursor cursor = database.query(DBHelper.TABLE_NAME, allColumns, "_id ="+id,
null, null, null, null);
//ambil data yang pertama
cursor.moveToFirst();
//masukkan data cursor ke objek barang
barang = cursorToBarang(cursor);
//tutup sambungan
cursor.close();
//return barang
return barang;
}
//update barang yang diedit
public void updateBarang(Barang b)
{
//ambil id barang
String strFilter = "_id=" + b.getId();
//memasukkan ke content values
ContentValues args = new ContentValues();
//masukkan data sesuai dengan kolom pada database
args.put(DBHelper.COLUMN_NAME, b.getNama_barang());
args.put(DBHelper.COLUMN_MERK, b.getMerk_barang());
args.put(DBHelper.COLUMN_HARGA, b.getHarga_barang() );
//update query
database.update(DBHelper.TABLE_NAME, args, strFilter, null);
}
Kode yang baru ada pada dasarnya kode itu hanya berfungsi untuk melakukan sebuah SQL query untuk
delete data di database.
import
import
import
import
import
import
import
import
import
import
import
android.app.Dialog;
android.app.ListActivity;
android.content.Intent;
android.os.Bundle;
android.view.View;
android.view.View.OnClickListener;
android.widget.AdapterView;
android.widget.AdapterView.OnItemLongClickListener;
android.widget.ArrayAdapter;
android.widget.Button;
android.widget.ListView;
}
);
Sekarang apabila kalian jalankan aplikasinya dan mengklik tombol delete, maka method deleteBarang()
pada controller akan dipanggil, dan data yang dimaksud akan dihapus dari database.