Cara Menyimpan Data di Android dengan Database SQLite - Tutorial membuat aplikasi di android yang dapat menyimpan data ke database SQLite, pada tutorial kali ini akan membahas bagaimana cara membuat database SQLite di android dengan mudah, yang dilengkapi dengan script serta file program androidnya, untuk memulai membuat aplikasi database SQLite silahkan membuat project baru, kemudian ikuti script android dibawah ini:
Tutorial : Aplikasi Simpan ke Database dengan SQLite
----------------------------------------------------------------------------
File : String.xml (Values)
----------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Aplikasi SQLite</string>
<string name="action_settings">Settings</string>
<string name="judul">.: Input Nama dan Hobi :.</string>
<string name="btnAddtxt">Add</string>
<string name="namaLabel">Nama</string>
<string name="hobiLabel">Hobi</string>
<string name="nomorLabel">No.</string>
</resources>
----------------------------------------------------------------------------
File : Main.xml (Layout)
----------------------------------------------------------------------------
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
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=".BasisData01" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/judul" />
<LinearLayout
android:id="@+id/Linearlayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<EditText
android:id="@+id/inNama"
android:layout_width="100dip"
android:layout_height="wrap_content" >
</EditText>
<EditText
android:id="@+id/inHobi"
android:layout_width="100dip"
android:layout_height="wrap_content" >
</EditText>
<Button
android:id="@+id/btnAdd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btnAddtxt" >
</Button>
</LinearLayout>
<TableLayout
android:id="@+id/tabel_data"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/no_id"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:text="@string/nomorLabel" >
</TextView>
<TextView
android:id="@+id/nama_id"
android:layout_width="100dip"
android:layout_height="wrap_content"
android:text="@string/namaLabel" >
</TextView>
<TextView
android:id="@+id/hobi_id"
android:layout_width="100dip"
android:layout_height="wrap_content"
android:text="@string/hobiLabel" >
</TextView>
</TableRow>
</TableLayout>
</LinearLayout>
----------------------------------------------------------------------------
File : DatabaseManager.java (SRC)
----------------------------------------------------------------------------
package com.basisdata.aplikasibasisdata01;
import java.util.ArrayList;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DatabaseManager {
private static final String ROW_ID = "_id";
private static final String ROW_NAMA = "nama";
private static final String ROW_HOBI = "hobi";
private static final String NAMA_DB = "mugi";
private static final String NAMA_TABEL = "hobi";
private static final int DB_VERSION = 1;
private static final String CREATE_TABLE = "create table "+NAMA_TABEL+" ("+ROW_ID+" integer PRIMARY KEY autoincrement,"+ROW_NAMA+" text,"+ROW_HOBI+" text)";
private final Context context;
private DatabaseOpenHelper dbHelper;
private SQLiteDatabase db;
public DatabaseManager(Context ctx) {
this.context = ctx;
dbHelper = new DatabaseOpenHelper(context);
db = dbHelper.getWritableDatabase();
}
private static class DatabaseOpenHelper extends SQLiteOpenHelper {
public DatabaseOpenHelper(Context context) {
super(context, NAMA_DB, null, DB_VERSION);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVer, int newVer) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS "+NAMA_DB);
onCreate(db);
}
}
public void close() {
dbHelper.close();
}
public void addRow(String nama, String hobi) {
ContentValues values = new ContentValues();
values.put(ROW_NAMA, nama);
values.put(ROW_HOBI, hobi);
try {
db.insert(NAMA_TABEL, null, values);
} catch (Exception e) {
Log.e("Database Error ", e.toString());
e.printStackTrace();
}
}
public ArrayList<ArrayList<Object>> ambilSemuaBaris() {
ArrayList<ArrayList<Object>> dataArray = new
ArrayList<ArrayList<Object>>();
Cursor cur;
try {
cur = db.query(NAMA_TABEL,
new String[] { ROW_ID, ROW_NAMA, ROW_HOBI }, null, null,
null, null, null);
cur.moveToFirst();
if (!cur.isAfterLast()) {
do {
ArrayList<Object> dataList = new ArrayList<Object>();
dataList.add(cur.getLong(0));
dataList.add(cur.getString(1));
dataList.add(cur.getString(2));
dataArray.add(dataList);
} while (cur.moveToNext());
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.e("Database Error", e.toString());
}
return dataArray;
}
}
----------------------------------------------------------------------------
File : BasisData01.java (SRC)
----------------------------------------------------------------------------
package com.basisdata.aplikasibasisdata01;
import java.util.ArrayList;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.Toast;
import android.view.Menu;
public class BasisData01 extends Activity {
DatabaseManager dm;
EditText nama, hobi;
Button addBtn;
TableLayout tabel4data;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
dm = new DatabaseManager(this);
tabel4data = (TableLayout) findViewById(R.id.tabel_data);
nama = (EditText) findViewById(R.id.inNama);
hobi = (EditText) findViewById(R.id.inHobi);
addBtn = (Button) findViewById(R.id.btnAdd);
addBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
simpKamuta();
}
});
updateTable();
}
protected void simpKamuta() {
try {
dm.addRow(nama.getText().toString(),hobi.getText().toString());
Toast.makeText(getBaseContext(),nama.getText().toString() + ", berhasil disimpan",Toast.LENGTH_SHORT).show();
updateTable();
kosongkanField();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getBaseContext(), "gagal simpan, " + e.toString(),Toast.LENGTH_LONG).show();
}
}
protected void kosongkanField(){
nama.setText("");
hobi.setText("");
}
protected void updateTable() {
// TODO Auto-generated method stub
while (tabel4data.getChildCount() > 1) {
tabel4data.removeViewAt(1);
}
ArrayList<ArrayList<Object>> data = dm.ambilSemuaBaris();
for (int posisi = 0; posisi < data.size(); posisi++) {
TableRow tabelBaris = new TableRow(this);
ArrayList<Object> baris = data.get(posisi);
TextView idTxt = new TextView(this);
idTxt.setText(baris.get(0).toString());
tabelBaris.addView(idTxt);
TextView namaTxt = new TextView(this);
namaTxt.setText(baris.get(1).toString());
tabelBaris.addView(namaTxt);
TextView hobiTxt = new TextView(this);
hobiTxt.setText(baris.get(2).toString());
tabelBaris.addView(hobiTxt);
tabel4data.addView(tabelBaris);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.basis_data01, menu);
return true;
}
}
Itulah tadi bagaimana membuat database SQLite di Android dengan contoh aplikasi, Berikut hasil dari aplikasi di android yang disimpan di database SQLite, selamat mencoba semoga bermanfaat.