Pada aplikasi database1 ini, akan kita coba membuat database,tabel serta menyimpan data ke dalam database. Buatlah project baru seperti ketentuan berikut :
Project Name : SQLiteDatabase
Buitl Target : Android 2.2
Application name : SQLiteDatabase
Package name : com.wilis.database
Activity : database1
Min SDK :8
Project Name : SQLiteDatabase
Buitl Target : Android 2.2
Application name : SQLiteDatabase
Package name : com.wilis.database
Activity : database1
Min SDK :8
Terdiri dari dua buah file java yaitu DBAdapter.java yang menghandle masalah SQLite beserta fungsi-fungsi yang dibutuhkan seperti struktur dan sekema database dan database1.java yang digunakan untuk melakukan pengiriman data yang akan ditambahkan ke database, membuka, mengedit, memanipulasi database.
Buatlah sebuah file java baru di dalam direktori src/com.wilis.database dengan cara klik kanan > New > Calss berinama file DBAdapter kemudian ubah isi file menjadi seperti ini :
DBAdapter .java
-----------------------------------------------------------------------------------------------
package com.wilis.database;
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";
public 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 static DatabaseHelper DBHelper;
private static 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 +" , wich 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);
}
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";
public 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 static DatabaseHelper DBHelper;
private static 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 +" , wich 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);
}
---------------------------------------------------------------------
Ubahlah file database.java dalam direktori src/com.wilis.database1 menjadi seperti ini :
Inilah data yang kita isikan ke dalam database kita di SQLite Database, kita menggunkan perintah insetTitle untuk memasukan data ke dalam database.
sekarang jalankan aplikasi anda dengan klik Run > Run As Android Aplication
sekarang jalankan aplikasi anda dengan klik Run > Run As Android Aplication
Sekarang buka Mozilla Firefox anda kemudian klik Tools/Alat > SQLite Manager.
klik Database > Conect Database > Pilih All Files > Cari tempat anda Pull file books tadi > Open.
Maka hasilnya seperti gambar berikut :
Untuk Mengatasi Terjadi Force Close, Pada package src/AndroidManifest, buka AndroidManifest.xml pastikan kodenya seperti berikut
sekian dan terimasih le.