Ini adalah tampilan eclipse nya :
Berikut ini adalah codingan yang harus dimasukan pada class yang akan digunakan pada eclipse :
1. Barang.java
==============================================================================
package id.twooh.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;
}
}
2. CreateData.Java
=========================================================================
package id.twooh.appinventory;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
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 Button buttonBack;
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.create_data);
buttonSubmit = (Button) findViewById(R.id.buttom_submit);
buttonSubmit.setOnClickListener(this);
buttonBack = (Button) findViewById(R.id.back);
buttonBack.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;
case R.id.back :
Intent i3 = new Intent(this, Menu.class);
startActivity(i3);
break;
}
}
}
3. DBSourceData.java
==============================================================================
package id.twooh.appinventory;
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;
}
}
4. DBHelper.java
==============================================================================
package id.twooh.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";
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);
// Auto generated
}
//mengeksekusi perintah SQL di atas untuk membuat tabel database baru
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(db_create);
}
// dijalankan apabila ingin mengupgrade database
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
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);
}
}
5. Menu.java
==============================================================================
package id.twooh.appinventory;
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.app.AlertDialog;
//import android.content.DialogInterface;
public class Menu extends Activity implements OnClickListener{
private Button bTambah;
private Button bLihat;
// private Button bExit;
@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);
// bExit = (Button) findViewById(R.id.button_exit);
// bExit.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;
// case R.id.button_exit :
//close();
// break;
}
}
}
/*private void close() {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Apakah Anda Benar-Benar ingin keluar?")
.setCancelable(false)
.setPositiveButton("Ya",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
finish();
}
})
.setNegativeButton("Tidak",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
dialog.cancel();
}
}).show();
}
}
*/
6. ViewData.java
==============================================================================
package id.twooh.appinventory;
import java.util.ArrayList;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
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);
Button btnmenu1=(Button)findViewById(R.id.back);
btnmenu1.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent i=new Intent(getApplicationContext(),Menu.class);
startActivity(i);
}
});
}}
Berikut ini adalah pengaturan untuk tampilannya :
1. Activity_barang.xml
<FrameLayout 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="id.twooh.appinventory.Barang"
tools:ignore="MergeRootFrame" />
2. 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"
/>
<Button
android:id="@+id/back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Back" />
</LinearLayout>
3. Fragment_barang.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
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="id.twooh.appinventory.Barang$PlaceholderFragment" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
4. Menu.xml
<?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="@string/app_name"
/>
<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="@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"
/>
</RelativeLayout>
5. Viewdata.xml
<?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"
>
<Button
android:id="@+id/back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Back" />
<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" >
</ListView>
</LinearLayout>
Selanjutnya adalah pengaturan untuk stringnya :
1. Strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">AppInventory</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string name="title_activity_main">AppInventory</string>
<string name="barang_hint">Nama Barang</string>
<string name="harga_hint">Harga Barang</string>
<string name="merk_hint">Merk Barang</string>
<string name="tombol_submit">Submit</string>
<string name="tombol_tambah">Tambah Data</string>
<string name="tombol_lihat">Lihat Data</string>
<string name="title_view">Data Barang</string>
</resources>
Atur juga manifestnya seperti berikut ini :
1. AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="id.twooh.appinventory"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="14" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="id.twooh.appinventory.CreateData"
android:label="@string/app_name" >
</activity>
<activity
android:name="id.twooh.appinventory.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="id.twooh.appinventory.ViewData"
android:label="@string/app_name" >
</activity>
</application>
</manifest>
OUTPUT :
Tampilan Utama Project |
Ketika Menambahkan Data |
Setelah data yg diisi di Submit |
Setelah kita memilih tombol exit |
ketika kita melihat data yang sudah ditambahkan |
disini downloadnya