Tutorial Android : Penggunaan SQLite Sebagai Database Lokal - AndroPath - Tutorial Android Development
Tutorial Android : Penggunaan SQLite Sebagai Database Lokal

Tutorial Android : Penggunaan SQLite Sebagai Database Lokal

Share This


Bismillaahirrahmaanirrahiim,,

Tutorial Android Menggunakan Android Studio Bahasa Indonesia - Cara Membuat Aplikasi Android - Ada beberapa cara Android dalam menyimpan data aplikasi, seperti Shared Preferences, File, SQLite dan lainnya. Nah untuk tutorial ini, kita akan membahas salah satunya yaitu SQLite.

Apa itu SQLite ?


Menurut pengertian Wikipedia :
SQLite merupakan sebuah sistem manajemen basisdata relasional yang bersifat ACID-compliant dan memiliki ukuran pustaka kode yang relatif kecil, ditulis dalam bahasa C.
Gampangnya, SQLite itu jenis database yang ringan dan tersedia dalam OS Android. Ada beberapa jenis database lainnya yang juga sering digunakan oleh para developer seperti salah satu contohnya ialah Realm.


Di tutorial android kali ini kita akan membuat aplikasi yang berisi database tinggi orang yang akan menyimpan data dasar , seperti id, nama dan tinggi badan.

Latihan


1. Membuat project baru

Buatlah sebuah project baru di Android Studio. Terserah apa nama project nya, disini saya namakan SQLiteTutorial.

2. Membuat Model Class

Pertama kita buat dulu model kelasnya :





















3. Membuat Database Handler Class

Kita butuh kelas Database Handler untuk meng-handle operasi CRUD (Create, Read, Update, and Delete). Buat class baru dan beri nama DatabaseHandler.java. Dalam membuat kelas handler ini kita pakai extends class SQLiteOpenHelper.
public class DatabaseHandler extends SQLiteOpenHelper {
Dalam mengextends kelas ini, kita harus meng-override dua method yaitu : onCreate() dan onUpgrade().
onCreate() → Dipanggil saat database diciptakan
onUpgrade() → Dipanggil saat database mengalami perubahan seperti perubahan struktur table, penambahan constrainst ke database dan lainnya.

3. Penambahan Operasi CRUD

  1. Penambahan Record
Untuk menambahkan record ke dalam table, kita buat sebuah method sendiri yaitu addRecord() dengan sebuah parameter model class. Kita membuat object ContentValues untuk menyimpan isi record, yang kemudian kita masukkan ke database dengan method insert(). Setelah itu jangan lupa untuk di tutup koneksi databasenya. Masukkan ini kedalam DatabaseHandler.java.
public void addRecord(UserModels userModels){
    SQLiteDatabase db  = getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(KEY_NAME, userModels.getName());
    values.put(KEY_TALL, userModels.getTall());

    db.insert(TABLE_TALL, null, values);
    db.close();
}
2. Membaca Database
Kita gunakan 2 method, getUsermodel() untuk membaca hanya satu baris (record) dan getAllUsermodel() untuk membaca seluruh record dalam table.
public UserModels getContact(int id) {
    SQLiteDatabase db = this.getReadableDatabase();

    Cursor cursor = db.query(TABLE_TALL, new String[] { KEY_ID,
                    KEY_NAME, KEY_TALL }, KEY_ID + "=?",
            new String[] { String.valueOf(id) }, null, null, null, null);
    if (cursor != null)
        cursor.moveToFirst();

    UserModels contact = new UserModels(Integer.parseInt(cursor.getString(0)),
            cursor.getString(1), cursor.getString(2));
    // return contact
    return contact;
}
// get All Record
public List<UserModels> getAllRecord() {
    List<UserModels> contactList = new ArrayList<UserModels>();
    // Select All Query
    String selectQuery = "SELECT  * FROM " + TABLE_TALL;

    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery(selectQuery, null);

    if (cursor.moveToFirst()) {
        do {
            UserModels userModels = new UserModels();
            userModels.setId(Integer.parseInt(cursor.getString(0)));
            userModels.setName(cursor.getString(1));
            userModels.setTall(cursor.getString(2));

            contactList.add(userModels);
        } while (cursor.moveToNext());
    }

    // return contact list
    return contactList;
}
juga bisa kita tambahkan method untuk mengetahui jumlah record dalam table
public int getUserModelCount() {
    String countQuery = "SELECT  * FROM " + TABLE_TALL;
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery(countQuery, null);
    cursor.close();

    // return count
    return cursor.getCount();
}
3. Update Record
Kita buat updateModel() untuk update record table.
public int updateContact(UserModels contact) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(KEY_NAME, contact.getName());
    values.put(KEY_TALL, contact.getTall());

    // updating row
    return db.update(TABLE_TALL, values, KEY_ID + " = ?",
            new String[] { String.valueOf(contact.getId()) });
}
4. Menghapus Record
Dan juga kita buat method deleteModel() untuk menghapus satu record di table
public void deleteModel(UserModels contact) {
    SQLiteDatabase db = this.getWritableDatabase();
    db.delete(TABLE_TALL, KEY_ID + " = ?",
            new String[] { String.valueOf(contact.getId()) });
    db.close();
}

Implementasi


Sekarang kita implementasi kan method tersebut dalam MainActivity kita. Berikut kita masukkan data dengan method yang telah kita buat, yaitu addUserModel
















Nah, sampai disini kita sudah selesai. Coba di Run dan lihat di LOG CAT pada Android Monitor :
Hasil Aplikasi Terlihat di LogCat


Itu dia tutorial android tentang cara penggunaan SQLite. Jika ada saran, kritik, tambahan atau pertanyaan, silahkan berdiskusi di kolom komentar ya. Selamat Mencoba

Happy Coding.!
Sources :

No comments:

Post a Comment