PEMROGRAMAN MOBILE NANDANG HERMANTO. S.Kom [email protected] Pemrograman Mobile : Nandang Hermanto Database di ANDROID Pemrograman Mobile : Nandang Hermanto 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 ? Pemrograman Mobile : Nandang Hermanto 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 Pemrograman Mobile : Nandang Hermanto 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 Pemrograman Mobile : Nandang Hermanto 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 Pemrograman Mobile : Nandang Hermanto 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 Pemrograman Mobile : Nandang Hermanto 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 Pemrograman Mobile : Nandang Hermanto 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 Pemrograman Mobile : Nandang Hermanto 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() Pemrograman Mobile : Nandang Hermanto 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); Pemrograman Mobile : Nandang Hermanto 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); Pemrograman Mobile : Nandang Hermanto Query untuk Delete • namaSQLiteDatabase.delete(table,”namatable=?”,arg umen where) Contoh : db.delete(DATABASE_TABLE, "nim=" + nim, null) ; Pemrograman Mobile : Nandang Hermanto execSQL • Digunakan untuk mengeksekusi perintah SQL yang tidak menghasilkan nilai balik namaSQLiteDatabase.execSQL(perintahSQL) Pemrograman Mobile : Nandang Hermanto