Setelah itu kita buat class baru dengan nama DBHelper dengan cara memilih package dari aplikasi kita lalu klik kanan => new pilih class lalu beri nama class tersebut dengan nama DBHelper Lalu ketikan koding berikut :
package dwifitriana.databaseandroid;
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";
public static final String COLUMN_NAME = "nama_barang";
public static final String COLUMN_MERK = "merk_barang";
public static final String COLUMN_HARGA = "harga_barang";
private static final String db_name ="inventori.db";
private static final int db_version=1;
//Perintah SQL untuk membuat tabel database baru
private static final String db_create = "create table "
+ TABLE_NAME + "("
+ COLUMN_ID +" integer primary key autoincrement, "
+ COLUMN_NAME+ " varchar(50) not null, "
+ COLUMN_MERK+ " varchar(50) not null, "
+ COLUMN_HARGA+ " varchar(50) not null);";
public DBHelper(Context context) {
super(context, db_name, null, db_version);
// TODO Auto-generated constructor stub
}
//mengeksekusi perintah SQL di atas untuk membuat tabel database baru
@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.w(DBHelper.class.getName(),
"Upgrading database from version " +
oldVersion + " to "
+ newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
}
Lalu kita buat class baru lagi dengan cara seperti diatas dan beri nama class tersebut dengan nama Barang. Sintaknya sebagai berikut :
package dwifitriana.databaseandroid;
public class Barang {
private long id;
private String nama_barang;
private String merk_barang;
private String harga_barang;
public Barang()
{
}
public long getId()
{
return id;
}
public void setId(long id)
{
this.id = id;
}
public String getNama_barang()
{
return nama_barang;
}
public void setNama_barang(String nama_barang)
{
this.nama_barang = nama_barang;
}
public String getMerk_barang()
{
return merk_barang;
}
public void setMerk_barang(String merk_barang)
{
this.merk_barang = merk_barang;
}
public String getHarga_barang()
{
return harga_barang;
}
public void setHarga_barang(String harga_barang)
{
this.harga_barang = harga_barang;
}
@Override
public String toString()
{
return "Barang "+ nama_barang +" "+ merk_barang + " "+ harga_barang;
}
}
Lalu buat class lagi dengan nama DBDataSource dengan sintak berikut :
package dwifitriana.databaseandroid;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import java.util.ArrayList;;
public class DBDataSource {
//inisialiasi SQLite Database
private SQLiteDatabase database;
//inisialisasi kelas DBHelper
private DBHelper dbHelper;
//ambil semua nama kolom
private String[] allColumns = { DBHelper.COLUMN_ID,
DBHelper.COLUMN_NAME, DBHelper.COLUMN_MERK,DBHelper.COLUMN_HARGA};
//DBHelper diinstantiasi pada constructor
public DBDataSource(Context context)
{
dbHelper = new DBHelper(context);
}
//membuka/membuat sambungan baru ke database
public void open() throws SQLException
{
database = dbHelper.getWritableDatabase();
}
//menutup sambungan ke database
public void close()
{
dbHelper.close();
}
//method untuk create/insert barang ke database
public Barang createBarang(String nama, String merk, String harga) {
// membuat sebuah ContentValues, yang berfungsi
// untuk memasangkan data dengan nama-nama
// kolom pada database
ContentValues values = new ContentValues();
values.put(DBHelper.COLUMN_NAME, nama);
values.put(DBHelper.COLUMN_MERK, merk);
values.put(DBHelper.COLUMN_HARGA, harga);
// mengeksekusi perintah SQL insert data
// yang akan mengembalikan sebuah insert ID
long insertId = database.insert(DBHelper.TABLE_NAME, null,values);
// setelah data dimasukkan, memanggil
// perintah SQL Select menggunakan Cursor untuk
// melihat apakah data tadi benar2 sudah masuk
// dengan menyesuaikan ID = insertID
Cursor cursor = database.query(DBHelper.TABLE_NAME,
allColumns, DBHelper.COLUMN_ID + " = " + insertId, null,
null, null, null);
// pindah ke data paling pertama
cursor.moveToFirst();
// mengubah objek pada kursor pertama tadi
// ke dalam objek barang
Barang newBarang = cursorToBarang(cursor);
// close cursor
cursor.close();
// mengembalikan barang baru
return newBarang;
}
private Barang cursorToBarang(Cursor cursor) {
// buat objek barang baru
Barang barang = new Barang();
// debug LOGCAT
Log.v("info", "The getLONG "+cursor.getLong(0));
Log.v("info", "The setLatLng "+cursor.getString(1)+
","+cursor.getString(2));
/* Set atribut pada objek barang dengan
* * data kursor yang diambil dari database*/
barang.setId(cursor.getLong(0));
barang.setNama_barang(cursor.getString(1));
barang.setMerk_barang(cursor.getString(2));
barang.setHarga_barang(cursor.getString(3));
//kembalikan sebagai objek barang
return barang;
}
//mengambil semua data barang
public ArrayList<Barang> getAllBarang() {
ArrayList<Barang> daftarBarang = new ArrayList<Barang>();
// select all SQL query
Cursor cursor = database.query(DBHelper.TABLE_NAME,
allColumns, null, null, null, null, null);
// pindah ke data paling pertama
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;
}
}
Setelah itu kita buat file xml baru dengan cara klik pada project kita, lalu klik kanan => new pilih android xml file lalu beri nama create data lalu ketikan koding berikut :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
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>
Setelah itu kita buat class baru lagi dengan nama CreateData dengan sintak berikut :
package dwifitriana.databaseandroid;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.os.Bundle;
import android.widget.Toast;
public class CreateData extends Activity implements OnClickListener {
//inisilisasi elemen-elemen pada layout
private Button buttonSubmit;
private EditText edNama;
private EditText edMerk;
private EditText edHarga;
//inisialisasi kontroller/Data Source
private DBDataSource dataSource;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.createdata);
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();
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// 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\n" + barang.getNama_barang() +
"merk\n" + barang.getMerk_barang() +
"harga\n" + barang.getHarga_barang(), Toast.LENGTH_LONG).show();
break;
}
}
}
Setelah itu kita buat xml baru dengan nama viewdata lalu ketkan koding berikut :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
Setelah itu kita buat class lagi dengan nama ViewData dengan sintak berikut :
package dwifitriana.databaseandroid;
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;
//menampilkan data
@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);
}
}
Lalu kita buat class dan xl dengan nama Menu lalu ketikan kodingnya :
Xml Menu :
<?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" >
<Button
android:id="@+id/Button_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="62dp"
android:text="@string/tombol_lihat" />
<Button
android:id="@+id/Button_tambah"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/Button_view"
android:layout_centerHorizontal="true"
android:layout_marginBottom="38dp"
android:text="@string/tombol_tambah" />
<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:text="@string/nama_app" />
</RelativeLayout>
Class Menu :
package dwifitriana.databaseandroid;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class Menu extends Activity implements OnClickListener {
private Button bTambah;
private Button bLihat;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
bTambah = (Button) findViewById(R.id.Button_tambah);
bTambah.setOnClickListener(this);
bLihat = (Button) findViewById(R.id.Button_view);
bLihat.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// // TODO Auto-generated method stub
switch(v.getId())
{
case R.id.Button_tambah :
Intent i = new Intent(this, CreateData.class);
startActivity(i);
break;
case R.id.Button_view :
Intent i2 = new Intent(this, ViewData.class);
startActivity(i2);
break;
}
}
}
Setelah semua class dan xml jadi, langkah selanjutnya adalah memodifikasi file AndrodiManifest.xml.
Menjadi seperti berikut ini :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="megapuspita.databaseandroid"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="megapuspita.databaseandroid.CreateData"
android:label="@string/app_name" >
</activity>
<activity
android:name="megapuspita.databaseandroid.Menu"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="megapuspita.databaseandroid.ViewData"
android:label="@string/app_name" >
</activity>
</application>
</manifest>
0 komentar:
Posting Komentar