baru bisa posting lagi di hari minggu yang tumben sejuk
seperti ini. Kali ini saya nangkring di Lab. Litbang kampus, koneksi
internetnya cukup kencang lah. Pokoknya kalo dipake donlod, yang liat
pasti ngiler deh :D. Berhubung di rumah TV saya sedang bermasalah,
sekalian saja saya nonton TV online dengan koneksi kencang yang nganggur
di kampus. Cukup lama juga saya tidak nonton acara TV, biasanya paling
nangkringin laptop. Sambil nonton TV online, saya mau berbagi sedikit
nih tentang tutorial android. Yupzzz, android. Semoga rekan-rekan gak
bosan dengan postingan saya yang akhir-akhir ini membahas tentang
android. Kali ini saya akan membahas tentang database SQLite,dimana
database ini sudah tersedia langsung di dalam OS android.
Karena memang sama-sama SQL, querynya sam
Karena memang sama-sama SQL, querynya sama dengan database MySQL.
Diawali dengan membuat database, membuat struktur tabel dan memanfaatkan
adapter dari SQLiteDatabase untuk melakukan fungsi DML (
Data Manipulation Language).
Setelah itu, datanya akan ditampilkan ke dalam sebuah ListView dengan
memanfaatkan CursorAdapter. Gak usah banyak penjelasan, kita langsung
aja ke cara pembuatannya. Cekidot gan….
1. Buat android project baru seperti gambar di bawah ini :
2. Kita akan memanfaatkan SQLiteOpenHelper sebagai class yang
berfungsi untuk menangani koneksi ke database. Diantaranya fungsi DDL (
Data Definition Language) dan DML. Buat sebuah file class baru dengan nama
DBHelper.java yang meng-extends class SQLiteOpenHelper.
1 | public class DBHelper extends SQLiteOpenHelper { |
2 | public DBHelper(Context context) { |
3 | super (context, "sekolah_db" , null , 1); |
7 | public void onCreate(SQLiteDatabase db) { |
12 | public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { |
17 | public void tambah(SQLiteDatabase db) { |
18 | String[] nama_sis = new String[] { "Gede" , "Okky" , "Untung" , "Puji" , "Willy" , "Ayus" }; |
19 | String[] alamat_sis = new String[] { "Denpasar" , "Banyuwangi" , "Situbondo" , "Rogojampi" , "Purwoharjo" , "Rogojampi" }; |
20 | int lanjut = new Random().nextInt(6); |
21 | String nama_in = nama_sis[lanjut]; |
22 | String alamat_in = alamat_sis[lanjut]; |
Saya sisipkan sebuah function untuk melakukan input ke dalam tabel,
value-nya
saya acak dari beberapa string yang saya simpan di dalam sebuah array.
Dan fungsi insert ini akan berjalan setiap kali aplikasi dibuka (taruh
di event onCreate). Ouw yaw, itu ada syntax yang saya mark, querynya
saya hilangkan karena tidak bisa disimpan ke dalam database blog ini :).
Untuk melihat query-nya, silahkan donlod saja contoh programnya di
akhir postingan ini.
3. Sekarang kita buat sebuah activity yang akan menampilkan data dari dalam database SQLite ke dalam sebuah ListView. Buka file
SqliteToListviewActivity.java dan ketikkan code di bawah ini :
1 | public class SqliteToListviewActivity extends ListActivity { |
3 | private SQLiteDatabase db; |
4 | private CursorAdapter data_sumber; |
5 | private static final String kolom[] = { "nama" , "alamat" ,BaseColumns._ID }; |
6 | DBHelper helper = new DBHelper(this); |
9 | public void onCreate(Bundle savedInstanceState) { |
10 | super.onCreate(savedInstanceState); |
11 | ListView view = getListView(); |
12 | view.addHeaderView(getLayoutInflater().inflate(R.layout.row, null)); |
13 | db = helper.getWritableDatabase(); |
19 | public void muat_ulang() |
21 | Cursor data = db.query( "bio_siswa" , kolom, null, null, null, null,null); |
22 | data_sumber = new SimpleCursorAdapter(this, R.layout.row, data, kolom, new int[] { R.id.nama, R.id.alamat }); |
23 | setListAdapter(data_sumber); |
26 | public void tambahdata() |
Untuk melakukan query untuk seleksi record dalam database, bisa menggunakan fungsi .
rawquery() atau dengan .
query(). Dan disini saya menggunakan fungsi .
query() karena tidak perlu memasukkan perintah select SQL, .
query()
mirip dengan pattern active record di CI. Data dari database disimpan
terlebih dahulu dalam CursorAdapter. Kemudian ditampilkan ke dalam
ListView denga fungsi
setListAdapter().
4. Yang terakhir, kita perlu membuat sebuah desain layout untuk
menampung data-data dari database. Buat sebuah file layout baru (klik
kanan folder layout > New > Android XML File) dan ketikkan kode
layout di bawah ini :
1 | <?xml version= "1.0" encoding= "utf-8" ?> |
3 | android:layout_height= "wrap_content" |
4 | android:id= "@+id/layoutBaris" |
5 | android:orientation= "horizontal" |
6 | android:layout_width= "fill_parent" > |
9 | android:layout_width= "wrap_content" |
10 | android:layout_height= "wrap_content" |
11 | android:layout_alignParentLeft= "true" |
12 | android:id= "@+id/nama" |
14 | android:textSize= "15sp" |
15 | android:padding= "10dip" /> |
17 | android:layout_width= "wrap_content" |
18 | android:layout_alignParentRight= "true" |
19 | android:layout_height= "wrap_content" |
20 | android:id= "@+id/alamat" |
22 | android:gravity= "right" |
23 | android:textSize= "15sp" |
24 | android:padding= "10dip" /> |
5. Tes aplikasi via emulator, kira-kira hasilnya seperti gambar di bawah ini :
Nah itu langkah-langkah dasar untuk membuat sebuah aplikasi database
sederhana dengan memanfaatkan SQLite. Terus terang saja, ketika mencoba
untuk membuat aplikasi ini sering mengalami
forced close setiap
akan mencobanya ke dalam emulatornya :(. Kebanyakan karena kesalahan
mengisi parameter dari CursorAdapter dan SqliteOpenHelper nya. Setelah
dicoba dan hampir putus asa, akhirnya bisa juga =)). OK deh, sekian dulu
postingan saya di hari minggu yang sejuk ini. Semoga bisa bermanfaat
untuk rekan-rekan.
Happy Blogging and Keep Coding
2. Kita akan memanfaatkan SQLiteOpenHelper sebagai class yang
berfungsi untuk menangani koneksi ke database. Diantaranya fungsi DDL (
Data Definition Language) dan DML. Buat sebuah file class baru dengan nama
DBHelper.java yang meng-extends class SQLiteOpenHelper.
1 | public class DBHelper extends SQLiteOpenHelper { |
2 | public DBHelper(Context context) { |
3 | super (context, "sekolah_db" , null , 1); |
7 | public void onCreate(SQLiteDatabase db) { |
12 | public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { |
17 | public void tambah(SQLiteDatabase db) { |
18 | String[] nama_sis = new String[] { "Gede" , "Okky" , "Untung" , "Puji" , "Willy" , "Ayus" }; |
19 | String[] alamat_sis = new String[] { "Denpasar" , "Banyuwangi" , "Situbondo" , "Rogojampi" , "Purwoharjo" , "Rogojampi" }; |
20 | int lanjut = new Random().nextInt(6); |
21 | String nama_in = nama_sis[lanjut]; |
22 | String alamat_in = alamat_sis[lanjut]; |
Saya sisipkan sebuah function untuk melakukan input ke dalam tabel,
value-nya
saya acak dari beberapa string yang saya simpan di dalam sebuah array.
Dan fungsi insert ini akan berjalan setiap kali aplikasi dibuka (taruh
di event onCreate). Ouw yaw, itu ada syntax yang saya mark, querynya
saya hilangkan karena tidak bisa disimpan ke dalam database blog ini :).
Untuk melihat query-nya, silahkan donlod saja contoh programnya di
akhir postingan ini.
3. Sekarang kita buat sebuah activity yang akan menampilkan data dari dalam database SQLite ke dalam sebuah ListView. Buka file
SqliteToListviewActivity.java dan ketikkan code di bawah ini :
1 | public class SqliteToListviewActivity extends ListActivity { |
3 | private SQLiteDatabase db; |
4 | private CursorAdapter data_sumber; |
5 | private static final String kolom[] = { "nama" , "alamat" ,BaseColumns._ID }; |
6 | DBHelper helper = new DBHelper(this); |
9 | public void onCreate(Bundle savedInstanceState) { |
10 | super.onCreate(savedInstanceState); |
11 | ListView view = getListView(); |
12 | view.addHeaderView(getLayoutInflater().inflate(R.layout.row, null)); |
13 | db = helper.getWritableDatabase(); |
19 | public void muat_ulang() |
21 | Cursor data = db.query( "bio_siswa" , kolom, null, null, null, null,null); |
22 | data_sumber = new SimpleCursorAdapter(this, R.layout.row, data, kolom, new int[] { R.id.nama, R.id.alamat }); |
23 | setListAdapter(data_sumber); |
26 | public void tambahdata() |
Untuk melakukan query untuk seleksi record dalam database, bisa menggunakan fungsi .
rawquery() atau dengan .
query(). Dan disini saya menggunakan fungsi .
query() karena tidak perlu memasukkan perintah select SQL, .
query()
mirip dengan pattern active record di CI. Data dari database disimpan
terlebih dahulu dalam CursorAdapter. Kemudian ditampilkan ke dalam
ListView denga fungsi
setListAdapter().
4. Yang terakhir, kita perlu membuat sebuah desain layout untuk
menampung data-data dari database. Buat sebuah file layout baru (klik
kanan folder layout > New > Android XML File) dan ketikkan kode
layout di bawah ini :
1 | <?xml version= "1.0" encoding= "utf-8" ?> |
3 | android:layout_height= "wrap_content" |
4 | android:id= "@+id/layoutBaris" |
5 | android:orientation= "horizontal" |
6 | android:layout_width= "fill_parent" > |
9 | android:layout_width= "wrap_content" |
10 | android:layout_height= "wrap_content" |
11 | android:layout_alignParentLeft= "true" |
12 | android:id= "@+id/nama" |
14 | android:textSize= "15sp" |
15 | android:padding= "10dip" /> |
17 | android:layout_width= "wrap_content" |
18 | android:layout_alignParentRight= "true" |
19 | android:layout_height= "wrap_content" |
20 | android:id= "@+id/alamat" |
22 | android:gravity= "right" |
23 | android:textSize= "15sp" |
24 | android:padding= "10dip" /> |
5. Tes aplikasi via emulator, kira-kira hasilnya seperti gambar di bawah ini :
Nah itu langkah-langkah dasar untuk membuat sebuah aplikasi database
sederhana dengan memanfaatkan SQLite. Terus terang saja, ketika mencoba
untuk membuat aplikasi ini sering mengalami
forced close setiap
akan mencobanya ke dalam emulatornya :(. Kebanyakan karena kesalahan
mengisi parameter dari CursorAdapter dan SqliteOpenHelper nya. Setelah
dicoba dan hampir putus asa, akhirnya bisa juga =)). OK deh, sekian dulu
postingan saya di hari minggu yang sejuk ini. Semoga bisa bermanfaat
untuk rekan-rekan.
Happy Blogging and Keep Coding
2. Kita akan memanfaatkan SQLiteOpenHelper sebagai class yang
berfungsi untuk menangani koneksi ke database. Diantaranya fungsi DDL (
Data Definition Language) dan DML. Buat sebuah file class baru dengan nama
DBHelper.java yang meng-extends class SQLiteOpenHelper.
1 | public class DBHelper extends SQLiteOpenHelper { |
2 | public DBHelper(Context context) { |
3 | super (context, "sekolah_db" , null , 1); |
7 | public void onCreate(SQLiteDatabase db) { |
12 | public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { |
17 | public void tambah(SQLiteDatabase db) { |
18 | String[] nama_sis = new String[] { "Gede" , "Okky" , "Untung" , "Puji" , "Willy" , "Ayus" }; |
19 | String[] alamat_sis = new String[] { "Denpasar" , "Banyuwangi" , "Situbondo" , "Rogojampi" , "Purwoharjo" , "Rogojampi" }; |
20 | int lanjut = new Random().nextInt(6); |
21 | String nama_in = nama_sis[lanjut]; |
22 | String alamat_in = alamat_sis[lanjut]; |
Saya sisipkan sebuah function untuk melakukan input ke dalam tabel,
value-nya
saya acak dari beberapa string yang saya simpan di dalam sebuah array.
Dan fungsi insert ini akan berjalan setiap kali aplikasi dibuka (taruh
di event onCreate). Ouw yaw, itu ada syntax yang saya mark, querynya
saya hilangkan karena tidak bisa disimpan ke dalam database blog ini :).
Untuk melihat query-nya, silahkan donlod saja contoh programnya di
akhir postingan ini.
3. Sekarang kita buat sebuah activity yang akan menampilkan data dari dalam database SQLite ke dalam sebuah ListView. Buka file
SqliteToListviewActivity.java dan ketikkan code di bawah ini :
1 | public class SqliteToListviewActivity extends ListActivity { |
3 | private SQLiteDatabase db; |
4 | private CursorAdapter data_sumber; |
5 | private static final String kolom[] = { "nama" , "alamat" ,BaseColumns._ID }; |
6 | DBHelper helper = new DBHelper(this); |
9 | public void onCreate(Bundle savedInstanceState) { |
10 | super.onCreate(savedInstanceState); |
11 | ListView view = getListView(); |
12 | view.addHeaderView(getLayoutInflater().inflate(R.layout.row, null)); |
13 | db = helper.getWritableDatabase(); |
19 | public void muat_ulang() |
21 | Cursor data = db.query( "bio_siswa" , kolom, null, null, null, null,null); |
22 | data_sumber = new SimpleCursorAdapter(this, R.layout.row, data, kolom, new int[] { R.id.nama, R.id.alamat }); |
23 | setListAdapter(data_sumber); |
26 | public void tambahdata() |
Untuk melakukan query untuk seleksi record dalam database, bisa menggunakan fungsi .
rawquery() atau dengan .
query(). Dan disini saya menggunakan fungsi .
query() karena tidak perlu memasukkan perintah select SQL, .
query()
mirip dengan pattern active record di CI. Data dari database disimpan
terlebih dahulu dalam CursorAdapter. Kemudian ditampilkan ke dalam
ListView denga fungsi
setListAdapter().
4. Yang terakhir, kita perlu membuat sebuah desain layout untuk
menampung data-data dari database. Buat sebuah file layout baru (klik
kanan folder layout > New > Android XML File) dan ketikkan kode
layout di bawah ini :
1 | <?xml version= "1.0" encoding= "utf-8" ?> |
3 | android:layout_height= "wrap_content" |
4 | android:id= "@+id/layoutBaris" |
5 | android:orientation= "horizontal" |
6 | android:layout_width= "fill_parent" > |
9 | android:layout_width= "wrap_content" |
10 | android:layout_height= "wrap_content" |
11 | android:layout_alignParentLeft= "true" |
12 | android:id= "@+id/nama" |
14 | android:textSize= "15sp" |
15 | android:padding= "10dip" /> |
17 | android:layout_width= "wrap_content" |
18 | android:layout_alignParentRight= "true" |
19 | android:layout_height= "wrap_content" |
20 | android:id= "@+id/alamat" |
22 | android:gravity= "right" |
23 | android:textSize= "15sp" |
24 | android:padding= "10dip" /> |
5. Tes aplikasi via emulator, kira-kira hasilnya seperti gambar di bawah ini :
Nah itu langkah-langkah dasar untuk membuat sebuah aplikasi database
sederhana dengan memanfaatkan SQLite. Terus terang saja, ketika mencoba
untuk membuat aplikasi ini sering mengalami
forced close setiap
akan mencobanya ke dalam emulatornya :(. Kebanyakan karena kesalahan
mengisi parameter dari CursorAdapter dan SqliteOpenHelper nya. Setelah
dicoba dan hampir putus asa, akhirnya bisa juga =)). OK deh, sekian dulu
postingan saya di hari minggu yang sejuk ini. Semoga bisa bermanfaat
untuk rekan-rekan.
Happy Blogging and Keep Coding
0 komentar:
Speak up your mind
Tell us what you're thinking... !