Membuat Android SQLite Database (part 3)

Download Aplikasi

Di part 3 ini kita akan :

  • Modifikasi layout “activity_main.xml”.
  • Modifikasi class “MainActivity.java”.
  • Membuat layout “show_activity.xml”.
  • Membuat layout “list_layout.xml” di “/res/layout”.
  • Membuat layout “list_selector.xml” di “/res/drawable”.
  • Membuat class “ShowActivity.java”.
  • Membuat layout “update_activity.xml”.
  • Membuat class “UpdateActivity.java”.
  • Membuat class “Message.java”.
  • Modifikasi file “main.xml” di “/res/menu”.
  • Membuat file “contextual_menu.xml” di “/res/menu”.
  • Modifikasi file “strings.xml” di “/res/values”.
  • Modifikasi file “AndroidManifest.xml”.

1. Modifikasi file “activity_main.xml”

activity_main1
activity_main2

2. Modifikasi class “MainActivity.java”

main_activity1

  • Baris 1 – 9 :
    Nama package dan statement import class yang digunakan.

main_activity2

  • Baris 10 :
    Statement untuk membuat class DBAdapter.
  • Baris 13 :
    Membuat objek myDb dari class DBAdapter.
  • Baris 14 :
    Membuat tiga objek dari class EditText.
  • Baris 22 :
    Membuka database di dalam method onCreate().
  • Baris 31 – 34 :
    Method untuk membuka database.

main_activity3

  • Baris 37 – 48 :
    Method untuk memasukkan data ke dalam database.
  • Baris 51 – 54 :
    Method untuk melakukan intent ke class ShowActivity yang meng’extends class ListActivity dan mempunyai method untuk menampilkan data pada database di dalam method onCreate()’nya.
  • Baris 58 – 63 :
    Method untuk membuat menu. Disini menu “add” dihidden, karena tidak diperlukan pada activity ini.

main_activity4

  • Baris 67 – 85 :
    Method untuk menangani event click pada item menu. Jika terjadi event click pada item menu “Save”, maka method “addData()” dan “intentShowData()” akan dipanggil secara berurutan.

3. Buat layout “show_activity.xml”

show_activity

  • Perlu diperhatikan jika kita menggunakan ListActivity, maka id dari listview harus bernama “@android:id/list“. Jika tidak, activity akan crash.

4. Buat layout “list_layout.xml”

list_layout

5. Buat file “list_selector.xml” di “/res/drawable”

list_selector

6. Buat class “ShowActivity.java”

ShowActivity1

  • Baris 2 – 17 :
    Nama package dan statement import class yang digunakan.
  • Baris 21 :
    Statement untuk membuat class ShowActivity. Class ini meng’extends class Activity dan meng’implements ActionMode.Callback untuk menggunakan contextual action bar menu.
  • Baris 25 – 27 :
    Deklarasi objek “myDb” dari class DBAdapter, mActionMode dan variabel selectedItem.

ShowActivity2

  • Baris 34 :
    Membuka database.
  • Baris 35 :
    Memanggil method showData() di dalam method onCreate(). Data akan ditampilkan di dalam listview.
  • Baris 39 – 45 :
    Method untuk menampilkan data pada listview. Objek cursor dibuat dan mempunyai nilai dari method “getAllRows()” yang dimiliki objek “myDb”.
  • Baris 42 :
    Membuat array dari data yang akan ditampilkan. Array ini bernama “arrayData”.
  • Baris 45 :
    Membuat array dari view yang akan menjadi wadah dari “arrayData”. Array ini bernama “arrayView”.
  • Baris 48 – 49 :
    Membuat objek SimpleCursorAdapter. Parameter kedua adalah layout setiap row yang akan digunakan pada listview. Parameter kedua dan ketiga berturut-turut adalah arrayData dan arrayView.
  • Baris 50 :
    Set adapter listview.

ShowActivity3

  • Baris 53 – 68 :
    Method listener onItemLongClick listview.
  • Baris 61 :
    Nilai variabel “selectedItem” diisi dengan nilai variabel “id” yg berisi index data yang dipilih. Variabel selectedItem ini akan dikirim melalui intent ke class UpdateActivity sebagai parameter method updateData().
  • Baris 77 – 80 :
    Method untuk intent ke class MainActivity untuk menambah data. Method ini akan dipanggil jika ada event click pada item menu “add”.

ShowActivity4

  • Baris 84 – 88 :
    Method untuk intent ke class UpdateActivity. Method ini akan dipanggil jika terjadi event click pada item contextual menu “edit”.
  • Baris 91 – 114 :
    Method untuk menghapus data dari database dengan dengan konfirmasi dialog terlebih dahulu. Method ini akan dipanggil jika terjadi event click pada item contextual menu “delete”. Data dihapus pada baris 99.

ShowActivity5

  • Baris 117 – 121 :
    Method untuk membuat contextual menu dengan menggunakan layout “contextual_menu.xml” pada “/res/menu”.
  • Baris 124 – 126 :
    Method untuk mempersiapkan contextual menu.
  • Baris 129 – 142 :
    Method untuk menangani event click pada setiap item contextual menu dengan menggunakan fungsi “switch…case”.
  • Baris 145 – 147 :
    Method untuk menghancurkan contextual menu.
  • Baris 150 – 156 :
    Method untuk membuat item menu.

ShowActivity6

  • Baris 159 – 168 :
    Method untuk menangani event click pada item menu dengan menggunakan fungsi “switch…case”.

7. Buat layout “update_activity.xml”

update_activity1
update_activity2

8. Buat class “UpdateActivity.java”

UpdateActivity1

  • Baris 2 – 10 :
    Nama package dan statement import class yang digunakan.
  • Baris 13 :
    Statement untuk membuat class UpdateActivity
  • Baris 15 – 18 :
    Membuat objek myDb dari class DBAdapter dan variabel “idRow” untuk menampung nilai yang dikirim melalui intent dari class ShowActivity, yang berisi nilai index data pada listview yang dipilih.
  • Baris 26 :
    Membuka database.
  • Baris 29 – 33 :
    Menerima intent dari class ShowActivity yang merupakan variabel yang berisi nilai index data pada listview yang dipilih.

UpdateActivity2

  • Baris 46 – 49 :
    Method untuk intent ke class ShowActivity. Method ini akan dipanggil jika terjadi event click pada item menu “daftar”.

UpdateActivity3

  • Baris 52 – 72 :
    Method untuk mengisi view dengan data yang sudah ada sebelumnya pada database. Dalam hal ini digunakan objek cursor dengan method “getColumnIndex()” untuk mengambil data pada setiap baris, dengan mengacu pada parameter “id” sebagai index baris yang akan diambil datanya.

UpdateActivity4

  • Baris 75 – 88 :
    Method untuk update data pada database. Pertama baris yang akan diupdate ditentukan dengan parameter “id”. Setelah itu, data tersebut diganti dengan isi dari setiap view yang ada pada activity. Method ini dipanggil jika terjadi event click pada item menu “save” pada action bar menu.
  • Baris 94 – 99 :
    Method untuk membuat menu dengan layout “main”. Item menu “add” di’hidden karena tidak diperlukan di activity ini.

UpdateActivity5

  • Baris 102 – 123 :
    Method untuk menangani event click pada item menu. Digunakan fungsi “switch…case” dengan parameter setiap id milik item menu. Item menu “save” akan memanggil method “updateData() dan intentShowData() secara berurutan.

9. Buat class “Message.java”

Message

  • Class ini digunakan untuk menampilkan toast konfirmasi.

10. Modifikasi file “main.xml” di “/res/menu”

main menu

11. Buat file “contextual_menu.xml” di “/res/menu”

contextual_menu

12. Modifikasi file “strings.xml” di “/res/values”

strings

13. Modifikasi file “AndroidManifest.xml”

AndroidManifest

Screenshot Aplikasi :

screenshot1

screenshot2

Nah kira-kira seperti itulah sedikit gambaran mengenai pembuatan SQLite Database di OS Android. Pastinya ada banyak cara lain yang mungkin jauh lebih baik dari cara ini hehehe.

Note : Database yang dibuat berada di “/data/data/package_name/database/database_name”. Tetapi untuk mengaksesnya dari device asli (bukan emulator), diperlukan mode root.

Thx πŸ™‚

Reference : lecture snippets

Satu respons untuk β€œMembuat Android SQLite Database (part 3)”

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s