Membuat Apps Todo List Menggunakan SQLite
Teori
Singkat SQLite
SQLite merupakan
sebuah sistem manajemen basisdata relasional yang
bersifat ACID-compliant dan memiliki ukuran pustaka
kode yang relatif kecil, ditulis dalam bahasa C.
SQLite merupakan proyek yang bersifat public domain yang
dikerjakan oleh D. Richard Hipp.
Tidak seperti pada paradigma client-server umumnya,
Inti SQLite bukanlah sebuah sistem yang mandiri yang berkomunikasi dengan
sebuah program, melainkan sebagai bagian integral dari sebuah program secara
keseluruhan. Sehingga protokol komunikasi utama yang digunakan adalah melalui
pemanggilan API secara
langsung melalui bahasa pemrograman. Mekanisme seperti ini tentunya membawa
keuntungan karena dapat mereduksi overhead, latency times,
dan secara keseluruhan lebih sederhana. Seluruh elemen basisdata (definisi
data, tabel, indeks, dan data) disimpan sebagai sebuah file. Kesederhanaan dari
sisi disain tersebut bisa diraih dengan cara mengunci keseluruhan file basis
data pada saat sebuah transaksi dimulai.
Menggunakan
database adalah cara yang tepat untuk menyimpan data terstruktur atau data
berulang, seperti informasi kontak. Halaman ini berasumsi bahwa Anda sudah
familier dengan database SQL secara umum dan akan membantu Anda memulai
database SQLite di Android. API yang nanti Anda perlukan untuk menggunakan
database di Android tersedia dalam paket android.database.sqlite.
Fitur-fitur
SQLite
Pustaka SQLite
mengimplementasikan hampir seluruh elemen-elemen standar yang berlaku
pada SQL-93,
termasuk transaksi yang bersifat atomic, konsistensi basisdata,
isolasi, dan durabilitas (dalam bahasa inggris lebih sering disebut ACID), trigger, dan kueri-kueri yang
kompleks. Tidak ada pengecekan tipe sehingga data bisa dientrikan dalam bentuk
string untuk sebuah kolom bertipe integer. Beberapa kalangan melihat hal ini
sebagai sebuah inovasi yang menambah nilai guna dari sebuah basisdata, utamanya
ketika digunakan dalam bahasa pemrograman berbasis script (PHP, Perl), sementara kalangan
lain melihat hal tersebut sebagai sebuah kekurangan.
Beberapa proses ataupun thread dapat berjalan secara
bersamaan dan mengakses basisdata yang sama tanpa mengalami masalah. Hal ini
disebabkan karena akes baca data dilakukan secara paralel. Sementara itu akses
tulis data hanya bisa dilakukan jika tidak ada proses tulis lain yang sedang
dilakukan; jika tidak, proses tulis tersebut akan gagal dan mengembalikan kode
kesalahan (atau bisa juga secara otomatis akan mencobanya kembali sampai
sejumlah nilai waktu yang ditentukan habis). Hanya saja ketika sebuah tabel
temporer dibuat, mekanisme penguncian pada proses multithread akan menyebabkan
masalah. Update yang terkini (versi 3.3.4) dikatakan telah memperbaiki masalah
ini.
Membuat
database menggunakan SQL helper
Setelah
menentukan tampilan database, Anda harus menerapkan metode yang akan membuat
serta mengelola database dan tabel. Berikut adalah beberapa pernyataan umum
untuk membuat dan menghapus table. Contohnya, kontrak berikut menentukan nama tabel
dan nama kolom untuk satu tabel yang merepresentasikan feed RSS:
Sama seperti file
yang disimpan di penyimpanan
internal perangkat, Android menyimpan database Anda dalam
folder pribadi aplikasi. Data Anda akan selalu aman karena secara default area
ini tidak dapat diakses oleh aplikasi lain atau oleh pengguna.
Kelas SQLiteOpenHelper berisi
kumpulan API yang berguna untuk mengelola database Anda. Saat kelas ini
digunakan untuk memperoleh referensi ke database, sistem hanya akan melakukan
operasi pembuatan dan update database, yang mungkin memerlukan banyak waktu,
hanya ketika diperlukan; bukan pada saat
aplikasi dimulai. Yang perlu Anda lakukan hanyalah memanggil getWritableDatabase() atau getReadableDatabase().
Catatan: Karena operasi dapat berjalan lama, pastikan Anda memanggil getWritableDatabase() atau getReadableDatabase() di thread latar belakang. Lihat Menggunakan thread di Android untuk informasi selengkapnya.
Untuk menggunakan SQLiteOpenHelper,
buat subclass yang mengganti metode callback onCreate() dan onUpgrade().
Anda mungkin juga perlu menerapkan metode onDowngrade() atau onOpen(),
tetapi keduanya tidak diperlukan.
Misalnya, berikut adalah penerapan SQLiteOpenHelper yang
menggunakan beberapa perintah yang ditampilkan di atas:
Untuk mengakses
database, buat instance subclass SQLiteOpenHelper Anda:
Praktikum
1. Pertama jalankan aplikasi IDE Android Studio, caranya :
a. Pilih Start → Android Studio
b. Pilih → Start a new Android Studio Project
c. Pilih → Empty Activity → Next
Configure Your Project
Name → TodolistSQLite
Package Name → Biarakn
Apa Adanya
Save Location → C:\Users\ACER\AndroidStudioProjects\NamaFolder\ TodolistSQLite
Language → Java
Minimum API Level → API 16 → Klik Finish
2.
Ketikan
kode berikut pada activity_main.xml
3.
Buat
sebuah file layout dengan nama row.xml file ini nantinya digunakan untuk
menampilkan list kegiatan yang akan dilakukan dan disampingnya akan kita
berikan tombol hapus
Lalu ketikan kode program berikut ini
untuk isi file row. xml
4.
Setelah itu kita akan
membuat Menu, calanya klik kanan pada folder res → New →
Directory lalu beri nama menu
5.
Setelah itu buat layout baru pada directory / folder
menu dengan nama layout menu.xml ddengan cara klik kanan pada folder
Menu → New → Layout
Resources File beri nama menu.xml lalu ketikkan kode program berikut ini
6.
Selanjutnya kita akan membuat class SQLiteOpenHelper
dengan nama DbHelper.java
7.
SQLiteOpenHelper adalah sebuah subclass, yang digunakan
untuk menentukan nama database dan versi database yang sedang dipakai. Kita bisa
menerapkan method class seperti : OnCreate (SqliteDatabase), OnUpgrade (SqliteDatabase
int int), OnOpen (SqliteDatabase).
8.
Buat sebuah class baru dengan nama DbHelper. Kemudian
implementasikan kode-kode berikut pada DbHelper.java
9.
Selanjutnya pada MainActivity.java masukkan
kode-kode berikut ini.
10.
Ubah nama aplikasi sesuai keinginan. Dengan cara
merubah file string.xml yang ada dalam
folder ..res/values.. seperti berikut ini
11.
Jika sudah selesai semua, running aplikasi pada emulator
atau langsung ke device android yang kamu punya. Jika sudah tampil silahkan
klik menu tambah tugas yang berasa di pojok kanan atas. Maka tampilannya
seperti video dibawah ini.

















0 komentar:
Posting Komentar