Nama : Rossy Leviana
Kelas : SI 12 C
NIM : 12.12.0172
Langkah-Langkah Membuat Database Dalam Android
1.Buka Eclips pada
komputer anda lalu bikin project baru dengan cara klik New à Android Application Project
2.Beri nama Database Android pada project
baru anda,lalu klik next
3.Pilih saja next
4.Jika anda ingin mengubah gambar pada
emulator anda klik saja Clipart lalu pilih choose pilih gambar yang anda
inginkan lalu pilih next
5.Pada blank
activity pilih saja finish
6.Maka project akan tampak seperti gambar
dibawah ini
7.Buat class baru dengan cara
Beri nama DBHelper
Pada DBHelper tuliskan coding seperti
dibawah ini
package databasendroid.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);
}
}
8. Buat
class baru lagi
Beri nama
DBDataSource
Tuliskan coding
seperti ini
package databasendroid.databaseandroid;
import java.util.ArrayList;
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;
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;
}
}
9. Buat
class lagi
Beri nama
CreateData
Tulis coding
seperti dibawah iini
package
databasendroid.databaseandroid;
import
android.app.Activity;
import
android.os.Bundle;
import
android.view.View;
import
android.view.View.OnClickListener;
import
android.widget.Button;
import
android.widget.EditText;
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;
}
}
}
10.Buat XML baru
dengan cara
Beri nama createdata
Tuliskan coding seperti ini
<?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>
11.Buat class baru
Beri nama Barang
Tuliskan coding seperti gambar dibawah ini
package
databasendroid.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;
}
}
12.Buat class baru
Beri nama Menu
Tuliskan coding seperti ini
package databasendroid.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;
}
}
}
13.Buat MXL baru
Beri nama menu
Tuliskan coding seperti ini
<?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"
>
<TextView
android:id="@+id/name_app"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:textSize="20sp"
android:text="@string/name_app"
/>
<Button
android:id="@+id/button_tambah"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/name_app"
android:layout_centerHorizontal="true"
android:text="@string/tombol_tambah"
/>
<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"
/>
</LinearLayout>
14.Buat class baru
Beri nama ViewData
Tuliskan coding seperti ini
package databasendroid.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);
}
}
15.Buat XML baru
Beri nama viewdata
Tuliskan coding seperti ini
<?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"
>
<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>
16.Tuliskan coding seperti dibawah iini
pada AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="databasendroid.databaseandroid"
android:versionCode="1"
android:versionName="1.0"
>
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17"
/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
>
<activity
android:name="databasendroid.databaseandroid.CreateData"
android:label="@string/app_name"
>
</activity>
<activity
android:name="databasendroid.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="databasendroid.databaseandroid.ViewData"
android:label="@string/app_name"
>
</activity>
</application>
</manifest>
Setelah
semua coding tidak ada yang merah ,maka kita bisa Run
17.Hasiiiilll
Pada Button Tombol Tambah kita klik
Disini kita bisa tambahkan barang sesuai
yang kita inginkan,lalu klik submit
Setelah barang kita tambahkan ,kita bisa
melihatnya pada Tombol lihat maka barang yang kita tambahkan akan muncul
Tidak ada komentar:
Posting Komentar