Jumat, 21 Maret 2014

SQLite

SQLite adalah database Open Source pada sistem operasi android. SQLite mendukung fitur database relasional standar seperti sintaks SQL, transaksi, dan laporan di susun. Selain itu hanya memerlukan sedikit memori pada saat runtime. SQlite mendukung tipe data TEKS, INTEGER, dan REAL. Namun, kita harus melakukan konversi data terlebih dahulu sebelum menyimpannya dalam database. SQLite sendiri tidak memvalidasi jika jenis ditulis untuk kolom sebenarnya dari jenis yang telah didefinisikan. (sumber info lain cek situs berikut.. ).

Dalam perangkat android, SQLite digunakan tanpa memerlukan setup database atau administrasi. Kita hanya perlu menentukan pernyataan SQL untuk membuat dan memperbarui database. Dalam penggunaannya kita di anjurkan untuk melakukan operasi database asynchronous, misalnya melalui kelas AsyncTask (hal ini dikarenakan akses ke database SQLite akan melibatkan pengaksesan sistem berkas, sehingga dapat membuat proses pengaksesan menjadi lambat). 

Jika aplikasi yang dibuat dapat menciptakan database, database tersebut akan disimpan dalam direktori: DATA/data/APP_NAME/database/FILENAME. 
Bagian - bagian dari direktori di atas dibangun berdasarkan aturan berikut. DATA adalah jalan yang Enviroment.getDataDirectory() kembali metode. APP_NAME adalah nama aplikasi. FILENAME adalah penamaan kode aplikasi untuk database.

Struktur SQLite

1. Package

    Package android.database paket berisi semua kelas umum untuk bekerja dengan database. android.database.sqlite berisi kelas SQLite tertentu.

2. Kelas SQLite Open Helper

    Untuk membuat dan meng-upgrade database dalam  aplikasi, biasanya dapat digunakan dengan fungsi dari subkelas SQLiteOpenHelper (dalam konstruktornya). Penggunaannya dengan memanggil super() dari method  SQLiteOpenHelper untuk menentukan nama database dan versi database saat ini.

    Dalam kelas ini diperlukan method OnCreate() dan onUpgrade(). Dimana, kedua method akan menerima objek SQLiteDatabase sebagai parameter yang mewakili database..
OnCreate(): method ini akan dipanggil oleh framework, jika database tidak ditemukan, dan 
onUpgrade(): method ini akan dipanggil, jika versi database meningkat pada kode aplikasi yang dibuat, dengan begitu skema database akan dapat diperbarui.
    
 Kelas SQLiteOpenHelper menyediakan method getReadableDatabase() dan getWriteableDatabase() untuk mendapatkan akses ke objek SQLiteDatabase. Tabel data harus menggunakan ' _id ' pengidentifikasi untuk primary key dari tabel.

3. Kelas SQLite Database

     SQLiteDatabase adalah kelas dasar untuk bekerja dengan database SQLite di Android dan 
menyediakan metode untuk membuka, query, update dan menutup database. Kelas ini biasanya menyediakan metodh insert(), update(), dan delete(), selain itu ada method execSQL() yang memungkinkan untuk mengeksekusi SQL secara langsung. 

      Adanya objek ContentValue juga memungkinkan untuk mendefinisikan 'kunci'/ 'nilai'. 'Kunci' tersebut merupakan identifier kolom tabel dan 'nilai' merupakan konten untuk catatan tabel dalam kolom ini. Objek Content Value dapat pula digunakan untuk menyisipkan dan update entri database. Dengan pernyataan yang diciptakan melalui method rawQuery() dan Query() atau melalui kelas SQLiteQueryBuilder (kelas ini memberikan kenyamaan yang membantu aplikasi untuk membangun query SQL). Method rawQuery akan langsung menerima pernyataan SQL sebagai masukan, dan method query() digunakan sebagai penyedia antarmuka struktur untuk menentukan query SQL. 

4. Cursor 
    
    Salah satu proses kerja query adalah mengembalikan nilai objek kursor, kursor merupakan hasil dari query dan pada dasarnya menunjuk pada satu baris dari hasil query. Dengan cara tersebut, android dapat melakukan buffer dengan query yang efisien, karena tidak harus memuat semua data ke memori. Untuk beralih di antara barus data individu dapat digunakan method moveToFirst() dan moveToNext(). Selain itu ada pula method isAfterLast() yang digunakan untuk memeriksa apakah hasil akhir query telah berhasil dicapai. 

 Dalam cursor juga terdapat beberapa method seperti getLong(colomnIndex), GetString(colomnIndex) untuk mengakses kolom data saat ini. 'columnIndex' dinyatak sebagai jumlah dari kolom yang diakses. Selain itu, cursor juga menyediakan method getColumnIndexOrThrow(String) yang memungkinkan untuk memperoleh indeks dari kolom untuk nama kolom dari tabel.

5. List Views, List Activities, dan Simple Cursor Adapter 
    
     List View adalah tampilan yang memungkinkan untuk menampilkan daftar elemen tertentu. List Activities adalah kejadian yang dikhususkan untuk menggunakan List View. Untuk bekerja dengan database dan List View, kita dapat menggunakan kelas Simple Cursor Adapter

      Kelas Simple Cursor Adapter akan melakukan pengaturan tata letak untuk setiap baris dari List View. Selain itu, kita juga dapat mendefinisikan sebuah array yang berisi nama kolom dan sebuah array lain yang berisi ID View yang harus diisi dengan data. Kelas ini akan memetakan kolom ke tampilan (interface) berdasarkan kursor yang dikirimkan. Unruk mendapatkan kursor, kita dapat menggunakan kelas Loader

Untuk mempergunakannya dapat kita liat pada pembahasan berikutnya.


Tidak ada komentar:

Posting Komentar

jangan lupa beri komentar dan join blognya yaa :)