Program Database di Android dengan SQLite Updated
Dear All, pada kesempatan ini, kita akan mengadakan kuliah online sebagai kelas pengganti kelas hari Rabu 29 Mei 2019 hari ini. Kita akan mencoba membuat program di Android dengan Database. ikuti langkah-langkah berikut ini:
1. Klik File | New | Other | Android |AndroidProject, namakan file dengan Database1; build target isi dengan Android2.3; File Name isi dengan Database1, Package isi dengan: com.rahmat.database1; Activty: Database1 dan Min SDK Version: 9.
2. Kembangkan Pada project Database1 | package com.NmAnda.Database1, double click pada file Database1.Java, dan tuliskan kode program berikut ini:
--------------------------------------------------------------------------------------------------------------------package com.rahmat.database1;
import android.app.Activity;
import android.os.Bundle;
public class database1 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
DBAdapter db = new DBAdapter(this);
//---tambahkan 3 judul--//
/** db.open();
long id;
id = db.insertTitle(
"1357",
"Permograman Aplikasi BErbasis Android ",
"Informatika");
id = db.insertTitle(
"8910",
"Permgograman Visual Basic.Net 05",
"Yrama Widya");
id = db.insertTitle(
"54321",
"Satelite VSAT",
"ELex Media Komputindo");
db.close();
}
} */
-------------------------------------------------------------------------------------------------------------------------
3. Buat Class Baru pada package com.NmAnda.Database1, dengan cara: Klik kanan pada Package tersebut | New | Class, namakan file dengan DBAdapter, maka secara otomatis akan tercipta file Java baru dengan nama DBAdapter1.java, tuliskan kode program berikut pada file DBAdapter1.Java tersebut:
--------------------------------------------------------------------------------------------------------------------------
package com.rahmat.database1;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DBAdapter
{
public static final String KEY_ROWID = "_id";
public static final String KEY_ISBN = "isbn";
public static final String KEY_TITLE = "title";
public static final String KEY_PUBLISHER = "publisher";
private static final String TAG = "DBAdapter";
private static final String DATABASE_NAME = "books";
private static final String DATABASE_TABLE = "titles";
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_CREATE =
"create table titles (_id integer primary key autoincrement,"
+ "isbn text not null, title text not null,"
+ "publisher text not null);";
private final Context context;
private DatabaseHelper DBHelper;
private SQLiteDatabase db;
public DBAdapter(Context ctx)
{
this.context = ctx;
DBHelper = new DatabaseHelper(context);
}
private static class DatabaseHelper extends SQLiteOpenHelper
{
DatabaseHelper(Context context)
{
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db)
{
db.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
Log.w(TAG, "upgrading database from version " + oldVersion
+ " to "
+ newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS titles");
onCreate(db);
}
}
public DBAdapter open() throws SQLException
{
db = DBHelper.getWritableDatabase();
return this;
}
public void close()
{
DBHelper.close();
}
public long insertTitle(String isbn, String title, String publisher)
{
ContentValues initialvalues = new ContentValues();
initialvalues.put(KEY_ISBN, isbn);
initialvalues.put(KEY_TITLE, title);
initialvalues.put(KEY_PUBLISHER, publisher);
return db.insert(DATABASE_TABLE, null, initialvalues);
}
public boolean deleteTitle(long rowId)
{
return db.delete(DATABASE_TABLE, KEY_ROWID +
"=" + rowId, null) > 0;
}
public Cursor getAllTitles()
{
return db.query(DATABASE_TABLE, new String[] {
KEY_ROWID,
KEY_ISBN,
KEY_TITLE,
KEY_PUBLISHER},
null,
null,
null,
null,
null);
}
public Cursor getTitle(long rowId) throws SQLException
{
Cursor mCursor =
db.query(true, DATABASE_TABLE, new String[] {
KEY_ROWID,
KEY_ISBN,
KEY_TITLE,
KEY_PUBLISHER
},
KEY_ROWID + "=" + rowId,
null,
null,
null,
null,
null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
public boolean updateTitle(long rowId, String isbn,
String title, String publisher)
{
ContentValues args = new ContentValues();
args.put(KEY_ISBN, isbn);
args.put(KEY_TITLE, title);
args.put(KEY_PUBLISHER, publisher);
return db.update(DATABASE_TABLE, args,
KEY_ROWID + "=" + rowId, null) > 0;
}
}
------------------------------------------------------------------------------------------------------------------------
4. Jika anda mau menyesuaikan script pada main.xml, kembangkan pada Project Database1 | Layout | Main.xml, berikut adalah kode program pada Main.xml:
-------------------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
-------------------------------------------------------------------------------------------------------------------------
5. Jika anda mau menyesuaikan script pada main.xml, kembangkan pada Project Database1 | Layout | Strings.xml, berikut adalah kode program pada Strings.xml
--------------------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">database1</string>
<string name="hello">Hello World, database1!</string>
</resources>
------------------------------------------------------------------------------------------------------------------------
Selanjutnya jalnakan program Android tersebut, klik kanan pada nama Project Database1 | Run As | Android Application, jika tidak ada error maka program akan menampilkan output sebagai berikut:
Program tersebut sebenarnya menginputkan 3 data berisi judul Buku kedalam database SQLite, anda bisa melihat pada File Explorer. :)
Referensi : Nazarudi Safaat, Android -Pemrorgaman Aplikasi Mobile Smart Phone dan Tablet PC berbasis Android, Penerbit Informatika, 2012