School of Information Systems

SQLite pada Android

SQLite adalah database SQL opensource yang menyimpan data ke file teks di perangkat. Android hadir dengan implementasi database SQLite bawaan.

SQLite mendukung semua fitur database relasional. Untuk mengakses database ini, Anda tidak perlu membuat koneksi apa pun seperti JDBC, ODBC, dll.

SQLite pada dasarnya adalah Relational Database Management System (RDBMS), sama seperti SQL. Ini merupakan perpustakaan dalam proses sumber terbuka yang mandiri, tanpa server, memiliki konfigurasi nol, dan mesin database SQL transaksional. Di sini, konfigurasi nol berarti tidak seperti sistem manajemen basis data lainnya, tidak perlu dikonfigurasi pada perangkat. Lite di sini di SQLite adalah dalam hal pengaturannya, administrasi database, dan semua sumber daya yang diperlukan.

Fitur SQLite :

  • Implementasi SQL berfitur lengkap bersama dengan berbagai kemampuan lanjutan seperti pengindeksan parsial, JSON, dan beberapa lainnya.
  • Sangat sederhana dengan API yang mudah digunakan.
  • Memiliki eksekusi yang sangat cepat di kali, dan bahkan lebih cepat daripada sistem file langsung Input-Output.
  • Mandiri karena tidak memiliki ketergantungan eksternal.
  • Transaksi di SQlite juga memiliki properti ACID yaitu – Atomicity, Consistency, Isolation, dan Durability.
  • Cross-platform karena mendukung Android, iOS, Linux, Mac, Windows, VxWorks, Solaris. Sangat mudah untuk port ke sistem lain.
  • Dilengkapi dengan klien antarmuka baris perintah mandiri.
  • Sepenuhnya disimpan dalam satu lintas platform.
  • Ditulis lengkap dalam ANSI-C.
  • Sangat ringan dan kecil, karena dimungkinkan untuk mengonfigurasinya dalam waktu kurang dari 400Kbs. Jika dikonfigurasi dengan menghilangkan fitur opsional, menggunakan kurang dari 250Kbs.

1. SQLite mendukung tiga jenis data berikut:

  • Jenis Teks – untuk menyimpan data tipe string atau karakter.
  • Tipe Integer – untuk menyimpan tipe data integer.
  • Tipe Nyata – untuk menyimpan nilai panjang.

Dalam SQLite, tipe data yang digunakan disebut valid; itu tidak divalidasi oleh SQLite.

 

2. Untuk menggunakan SQLite di aplikasi Android, kita dapat menggunakan paket android.database.sqlite. Paket ini berisi semua API untuk menggunakan SQLite.

 

3. SQLiteOpenHelper adalah class yang berguna untuk membuat database dan mengelolanya. Dua konstruktor kelas SQLiteOpenHelper adalah:

– SQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version_no) – Ini menciptakan objek untuk membuat, membuka, dan mengelola database.

– SQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version_no, DatabaseErrorHandler errorHandler) – Objeknya menentukan pengendali kesalahan bersama dengan membuat, membuka, dan mengelola database.

 

4. SQLiteDatabase adalah kelas yang memiliki metode untuk melakukan operasi seperti membuat, memperbarui, menghapus, dll.

 

SQLite Database

1. Database – Package

Database package adalah android.database.sqlite yang berisi kelas-kelas untuk mengelola database Anda sendiri

Fungsi lain dari database package untuk melakukan pekerjaan :

  • openDatabase(String path, SQLiteDatabase.CursorFactory factory, int flags, DatabaseErrorHandler errorHandler)
  • openDatabase(String path, SQLiteDatabase.CursorFactory factory, int flags)
  • openOrCreateDatabase(String path, SQLiteDatabase.CursorFactory factory)
  • openOrCreateDatabase(File file, SQLiteDatabase.CursorFactory factory)

2. Database – Insert

kita dapat membuat tabel atau memasukkan data ke dalam tabel menggunakan metode execSQL yang didefinisikan dalam kelas SQLiteDatabase. Sintaksnya diberikan di bawah ini

mydatabase.execSQL(“CREATE TABLE IF NOT EXISTS TutorialsPoint(Username VARCHAR,Password VARCHAR);”);

mydatabase.execSQL(“INSERT INTO TutorialsPoint VALUES(‘admin’,’admin’);”);

Ini akan memasukkan beberapa nilai ke dalam tabel di database. Metode lain yang juga melakukan pekerjaan yang sama tetapi mengambil beberapa parameter tambahan diberikan di bawah ini

execSQL(String sql, Object[] bindArgs)

3. Database – Fetching

Kita dapat mengambil apapun dari database menggunakan objek dari kelas Cursor. Kami akan memanggil metode kelas ini yang disebut rawQuery dan itu akan mengembalikan hasil dengan kursor menunjuk ke tabel. Kita dapat menggerakkan kursor ke depan dan mengambil data.

Contoh codenya :

Cursor resultSet = mydatbase.rawQuery(“Select * from TutorialsPoint”,null);

resultSet.moveToFirst();

String username = resultSet.getString(0);

String password = resultSet.getString(1);

4. Database – helper class

Untuk mengelola semua operasi yang berhubungan dengan database, telah disediakan kelas helper yang disebut SQLiteOpenHelper. Kelola pembuatan dan pembaruan basis data secara otomatis. Sintaksnya diberikan di bawah ini

public class DBHelper extends SQLiteOpenHelper {

   public DBHelper(){

      super(context,DATABASE_NAME,null,1);

   }

   public void onCreate(SQLiteDatabase db) {}

   public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion) {}

}

Referensi :

https://www.tutorialspoint.com/android/android_sqlite_database.htm

Andrew Eustasius Pirus, Ferdianto