share Facebook

Minggu, 16 September 2012

Cara Menggunakan Database di Android

Cara Menggunakan Database di Android
Dewasa ini, Pengembangan Platform Android semakin beragam dan beberapa aplikasi mulai berkembang dan membutuhkan media penyimpanan informasi dalam bentuk database terstruktur. Beruntungnya para Programmer Android karena Android sudah menyediakan sebuah database yang secara default sudah ada di dalam library Android, yaitu SQLite. Untuk keperluan operasi database pada smartphone atau tablet Android, SQLite sangat mendukung karena ukurannya yang ringan, cepat dan kecil dalam hal sumber daya. Karena sifatnya sebagai embedded database, SQLite tidak memiliki server namun bentuknya adalah library yang akan dipanggil saat program dijalankan.
Seperti halnya database pada umumnya, SQLite memiliki objek-objek seperti view, table dan
index. Perintah-perintah SQL-nya juga sangat serupa seperti yang biasa digunakan yaitu SELECT, INSERT, UPDATE, DELETE dan sebagainya. Informasi mengenai SQLite dapat dibaca secara lengkap pada situs resminya di:
http://www.sqlite.org
NB:
Untuk mulai mengembangkan aplikasi Android menggunakan SQLite, tidak
ada instalasi tambahan yang perlu dilakukan karena library SQLite sudah
ada di dalam framework Android.
Database SQLite diaktifkan di dalam program dengan cara meng-import
library SQLite pada program header, misalnya:
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
Pada umumnya aplikasi dengan embedded database tidak menyertakan database yang sudah
berbentuk pada saat aplikasi itu diinstal pada perangkat. Jadi yang diinstal hanya programnya,
sedangkan databasenya tidak ada sama sekali. Database akan dibuat pada saat aplikasi itu
dijalankan pertama kali, yaitu program akan memeriksa apakah database ditemukan. Jika
database tidak ditemukan maka serangkaian perintah SQL akan menjalankan perintah CREATE yang akan membentuk file database diikuti dengan table-table di dalamnya. Tentunya programmer harus membuat sendiri perintah SQL tersebut secara spesifik tergantung struktur data di dalam aplikasi yang dibuatnya. Ini adalah teknik yang biasanya digunakan programmer dalam membuat sebuah aplikasi dengan embedded database dimana ia tidak menyertakan file database di dalam paket instalasi aplikasi.
Berikut ini diperlihatkan sebuah contoh program menggunakan SQLite.
1. Jalankan program Eclipse dan buat sebuah Android Project baru.
2. Beri nama pada projek tersebut, kemudian masukkan pilihan build target dan lengkapi
property. Kemudian tekan Finish untuk melanjutkan.
Dari beberapa literatur yang saya baca, praktek yang dianjurkan untuk membuat
program database adalah memisahkan antara program utama dengan program yang
menangani perintah-perintah operasi database seperti membuat table, menambah
baris, mengubah data dan sebagainya. Tujuannya adalah tidak mencampur-adukkan
logika bisnis dengan operasi tingkat rendah (SELECT, INSERT, UPDATE dan DELETE) yang akan membuat kode program sulit dibaca dan berkesan rumit sekali. Untuk tujuan
kerapihan program, akan jauh lebih baik jika program utama fokus hanya pada jalannya
alur program utama, sementara fungsi-fungsi database dipisahkan ke dalam program
yang lain. Program utama cukup memanggil fungsi-fungsinya secara sederhana dengan
satu baris perintah saja, walaupun sebetulnya fungsi itu ditulis dengan baris yang
panjang dan proses yang rumit di bagian program yang lain.
Kita akan menerapkan teknik pemrograman tersebut dengan membuat sebuah class
bernama DBAdapter yang khusus menangani operasi database.
3. Tambahkan sebuah class baru dan beri nama DBAdapter.
Tekan Finish untuk melanjutkan.
4. Tambahkan perintah import berikut ini pada program header DBAdapter.java.
Perhatikan beberapa library SQLite yang akan digunakan disebutkan di situ.
...
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;
...
5. Ketikkan skrip berikut ini di dalam class DBAdapter. Perhatikan class ini mengandung
sebuah constructor DBAdapter(Context) untuk menginisiasi class, kemudian method
open dan close masing-masing untuk membuka dan menutup database.
public class DbAdapter {
private static final String TAG="DbAdapter";
private static final String DATABASE_NAME="books";
private static final int DATABASE_VERSION=1;
private static final String TABLE_CREATE = "create table titles (_id integer
primary key autoincrement, "
+ "isbn text not null, title text not null, "
+ "publisher text not null)";
private static final String TABLE_DROP = "DROP TABLE IF EXISTS titles";
private final Context context;
private DatabaseHelper dbHelper;
private SQLiteDatabase db;
public DbAdapter(Context ctx) {
this.context = ctx;
dbHelper = new DatabaseHelper(this.context);
}
private static class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context ctx) {
super(ctx, DATABASE_NAME, null, DATABASE_VERSION);
}
+ newVersion
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(TABLE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
+ ", which will destroy all old data");
db.execSQL(TABLE_DROP);
onCreate(db);
}
}
public DbAdapter open() throws SQLException {
db = dbHelper.getWritableDatabase();
return this;
}
public void close() {
dbHelper.close();
}
}
Skrip di atas merupakan contoh program DBAdapter yang relatif generik. Program ini
bisa dijadikan semacam cetakan untuk program-program lain karena program ini
bentuknya masih umum dan belum mengandung fungsi-fungsi yang spesifik. Konstanta-
konstanta seperti DATABASE_NAME, TABLE_CREATE, TABLE_DROP bisa diubah isinya untuk disesuaikan dengan kebutuhan. Nantinya ke dalam program DBAdapter ini harus ditambahkan fungsi-fungsi database misalnya insertBook, updateBook dan sebagainya
dengan baris-baris kode yang spesifik.
6. Sampai tahap ini jalankan aplikasi tersebut untuk menguji-coba dengan cara klik-kanan
nama pada projek di dalam Package Explorer, kemudian pilih Run As Android
Application.
Tunggu sejenak sampai emulator Android ditampilkan dan menjalankan aplikasi ini.
Sepintas Anda tidak akan melihat sesuatu yang istimewa pada tampilan aplikasi tersebut, kecuali
sebuah pesan yang muncul pada emulator.
Sesungguhnya aplikasi ini menjalankan sesuatu yang istimewa saat ia dijalankan pertama kali.
Perhatikan potongan-potongan program berikut ini.
Saat MainActivity.java membuat objek DBAdapter dengan di dalam baris “DBAdapter db = new DBAdapter(this);” maka rangkaian pemanggilan baris-baris program lainnya akan dijalankan seperti diperlihatkan pada gambar di atas, seperti pembuatan objek DatabaseHelper dan pemanggilan method super, onCreate dan terakhir yang berujung pada dijalankannya method execSQL untuk membuat sebuah table bernama titles.
Tanpa disadari sebuah file database bernama books dengan sebuah table titles di dalamnya
telah terbentuk. Lalu sekarang bagaimana memastikan database ini telah terbentuk? Satu-
satunya cara tentunya harus menemukan bahwa file database itu memang ada, bukan?
1. Jalankan menu Window Open Perpective
perpective pada sudut kanan-atas layar.
DDMS atau cukup meng-klik icon DDMS
2. Pada tab File Explorer, buka folder data
data.
3. Cari nama package dari projek ini (pada contoh ini adalah net.houseoflife.dbsample),
kemudian buka foldernya hingga ditemukan folder databases dan sebuah file database
di dalamnya. Itu adalah file database SQLite yang dibentuk oleh aplikasi tersebut.
File database SQLite yang tampak pada File Explorer perlu dibuka untuk memastikan sebuah
table telah terbentuk di dalamnya. Database itu tidak dapat langsung dibuka di dalam Eclipse
tetapi harus dibuka menggunakan sebuah program yang bernama SQLite Manager. Program ini akan dijelaskan kemudian, tetapi untuk saat ini file database ini harus dibawa keluar dari
emulator agar bisa diakses dari komputer lokal.
1. Pastikan file database disorot/dipilih pada File Explorer, kemudian klik icon dengan
tulisan “Pull a file from the device” pada sudut kanan-atas layar.
2. Simpan file tersebut pada komputer lokal.
SQLite Manager adalah sebuah program yang sangat membantu programmer dalam mengelola database SQLite seperti membuat table, index dan menjalankan perintah-perintah SQL. Program ini sangat mudah digunakan dan betul-betul bermanfaat untuk berbagai keperluan praktis. Satu hal lagi yang tidak kalah pentingnya: program ini gratis.
Selain SQLite Manager, ada beberapa program lain yang tujuannya serupa namun saya
menganjurkan program ini karena ia yang paling populer digunakan saat ini. SQLite Manager
adalah sebuah program add-on pada program Mozilla Firefox sehingga pastikan pada komputer Anda telah terinstal program browser tersebut sebelumnya. Untuk mengsinstal SQLite Manager, silakan mengunduh add-on-nya pada alamat berikut ini dan ikuti instruksinya.
https://addons.mozilla.org/id/firefox/addon/sqlite-manager/
Saya tidak mengetahui apakah add-on SQLite Manager juga tersedia untuk browser yang lain
seperti Internet Explorer atau Chrome, saya persilakan pembaca untuk mencarinya sendiri.
Setelah add-on berhasil terinstal, jalankan program ini melalui Mozilla Firefox.
1. Jalankan menu Tools
2. Setelah SQLite Manager muncul, jalankan menu Database Connect Database,
kemudian buka file database yang telah tersimpan di dalam komputer lokal tadi.
3. Saat file database telah dibuka, perhatikan bahwa table titles tampak di dalamnya.
SQLite Manager.
Silakan lihat isi table tersebut dengan menjalankan perintah SQL pada kotak Execute
SQL.
Demikianlah Anda telah melihat bagaimana aplikasi Android membuat sebuah database SQLite saat ia dijalankan. Jika aplikasi ini dijalankan lagi untuk ke-dua kali dan seterusnya, file database tidak akan dibuat lagi karena ia sudah ada. File database itu akan langsung dibuka dan digunakan oleh aplikasi yang bersangkutan.
Cukup sekian, kurang lebihnya mohon maaf dan semoga bermanfaat. Terimakasih

Tidak ada komentar:

Poskan Komentar

Pages

Patner Blog Kami


No Rek : Nomer Rekening
A/N : Nama Anda



No Rek : Nomer Rekening
A/N : Nama Anda


Blog Najcardboyz

Cahaya Ilmu Komputer