PEMROGRAMAN MOBILE NANDANG HERMANTO. S.Kom nandang007@gmail.com
Database di ANDROID
Penting... Penyimpanan adalah salah satu topik yang penting dalam pengembangan aplikasi User mengharapkan agar data yang sudah dibuat dapat dipakai kembali dikemudian hari Bagamanan caranya?
Cara penyimpanan data di ANDROID 1. Shared Preferences : bisanya digunakan untuk mengyimpan data berukuran kecil 2. File sistem konvensional 3. Relational DBMS (SQLite) Catatan : no 1 dan 2 bisa anda baca di STEP by STEP menjadi Programmer android (wahana Komputer) Yang kita bahas adalah no 3
Sekilas tentang SQLite Ukuran library kecil Ditulis dengan bahasa C Seluruh elemen basis datanya disimpan dalam satu file Tersedia disemua perangkat ANDROID sehingga tidak perlu malakukan install dan setup database hanya perlu mendefinisikan SQL Statement Tidak ada pengecekan tipe data sehingga kolom yg bertype integer dapat diisi dengan string dll
Paket dan Class SQLite Untuk menangani database di android terdapat paket yang bernama android.database didalamnya terdapat semua class untuk bekerja dengan database Yang khusus untuk SQLite adalah android.database.sqlite
Class SQLiteOpenHelper Adalah class abstract yang diimplementasikan untuk membuat, membuka dan meningkatkan (upgrade) database dengan meng-overide method oncreate() dan onupgrade() Method oncreate dipanggil otomatis saat aplikasi dijalankan pertamakali, biasanya digunakan untuk membuat database Method onupgrade dipakai jika aplikasi yang dibuat merupakan versi baru dan database pada perangkat android perlu diperbaharusi
Langkah mengimplementasikan class SQLiteOpenHelper membuat instance baru Melewatkan ke context nama database dan versi saat ini Panggil method getreadablidatabase() atau getwritabledatabase yang digunakan untuk membuka dan mengembalikan sebuah instance yang dapat dibaca dan ditulis dari database utama
Query untuk mendapatkan data namasqlitedatabase.query(tabel,kolom,seleksi, argumenseleksi,groupby,having,orderby) Atau namasqlitedatabase.rawquery(perintah SQL,argumen seleksi) Catatan : Setiap query database akan dikembalikan sebagai Cursor
Cursor Adalah tempat untuk menampung hasil Query Method pada cursor movetofirst() movetonext() getcount() getcolumnindexorthrow() mengembalikan indeks dari kolom sesuai nama yang diberikan atau melemparkan exception jika tidak ada kolom sesui nama tersebut getcolumnname() getcolumnnames() mendapatkan seluruh nama kolom movetoposition() getposition()
Query untuk Insert namasqlitedatabase.insert(table,nilai inisial, objek contentvalues) Contentvalues untuk menambahkan baris baru ke tabel kemudian setiap kolom diisi dengan method put Contoh : ContentValues initialvalues = new ContentValues(); initialvalues.put(key_nim, nim); initialvalues.put(key_nama, nama); initialvalues.put(key_email, email); db.insert(database_table, null, initialvalues);
Query untuk Edit namasqlitedatabase.update(table, objek contentvalues, klausa where, argumen where) Contoh : ContentValues args = new ContentValues(); args.put(key_nama, nama); args.put(key_email, email); db.update(database_table, args, KEY_NIM + "=" + nim, null);
Query untuk Delete namasqlitedatabase.delete(table, namatable=?,arg umen where) Contoh : db.delete(database_table, "nim=" + nim, null) ;
execsql Digunakan untuk mengeksekusi perintah SQL yang tidak menghasilkan nilai balik namasqlitedatabase.execsql(perintahsql)