Headlines News :

visit.com

BoaNoite Mundo Update IT INFORMATIKA CENTER LoRosae Qimatta Sempre Gautula
Home » » Tutorial Android : Menampilkan Data dari Database SQLite ke ListView

Tutorial Android : Menampilkan Data dari Database SQLite ke ListView

Written By Unknown on Rabu, 15 Juli 2015 | 16.42

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.
1public class DBHelper extends SQLiteOpenHelper {
2    public DBHelper(Context context) {
3        super(context, "sekolah_db", null, 1);
4    }
5 
6    @Override
7    public void onCreate(SQLiteDatabase db) {
8        //db.execSQL("");
9    }
10 
11    @Override
12    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
13        //db.execSQL("");
14        onCreate(db);
15    }
16 
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];
23        //db.execSQL("");
24    }
25}
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 :
1public class SqliteToListviewActivity extends ListActivity {
2 
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);
7 
8    @Override
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();
14 
15        this.muat_ulang();
16        this.tambahdata();
17    }
18 
19    public void muat_ulang()
20    {
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);
24    }
25 
26    public void tambahdata()
27    {
28        helper.tambah(db);
29        this.muat_ulang();
30    }
31}
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"?>
2<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3    android:layout_height="wrap_content"
4    android:id="@+id/layoutBaris"
5    android:orientation="horizontal"
6    android:layout_width="fill_parent">
7 
8    <TextView
9        android:layout_width="wrap_content"
10        android:layout_height="wrap_content"
11        android:layout_alignParentLeft="true"
12        android:id="@+id/nama"
13        android:text="Nama"
14        android:textSize="15sp"
15        android:padding="10dip" />
16    <TextView
17        android:layout_width="wrap_content"
18        android:layout_alignParentRight="true"
19        android:layout_height="wrap_content"
20        android:id="@+id/alamat"
21        android:text="Alamat"
22        android:gravity="right"
23        android:textSize="15sp"
24        android:padding="10dip" />
25 
26</RelativeLayout>
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.
1public class DBHelper extends SQLiteOpenHelper {
2    public DBHelper(Context context) {
3        super(context, "sekolah_db", null, 1);
4    }
5 
6    @Override
7    public void onCreate(SQLiteDatabase db) {
8        //db.execSQL("");
9    }
10 
11    @Override
12    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
13        //db.execSQL("");
14        onCreate(db);
15    }
16 
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];
23        //db.execSQL("");
24    }
25}
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 :
1public class SqliteToListviewActivity extends ListActivity {
2 
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);
7 
8    @Override
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();
14 
15        this.muat_ulang();
16        this.tambahdata();
17    }
18 
19    public void muat_ulang()
20    {
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);
24    }
25 
26    public void tambahdata()
27    {
28        helper.tambah(db);
29        this.muat_ulang();
30    }
31}
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"?>
2<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3    android:layout_height="wrap_content"
4    android:id="@+id/layoutBaris"
5    android:orientation="horizontal"
6    android:layout_width="fill_parent">
7 
8    <TextView
9        android:layout_width="wrap_content"
10        android:layout_height="wrap_content"
11        android:layout_alignParentLeft="true"
12        android:id="@+id/nama"
13        android:text="Nama"
14        android:textSize="15sp"
15        android:padding="10dip" />
16    <TextView
17        android:layout_width="wrap_content"
18        android:layout_alignParentRight="true"
19        android:layout_height="wrap_content"
20        android:id="@+id/alamat"
21        android:text="Alamat"
22        android:gravity="right"
23        android:textSize="15sp"
24        android:padding="10dip" />
25 
26</RelativeLayout>
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.
1public class DBHelper extends SQLiteOpenHelper {
2    public DBHelper(Context context) {
3        super(context, "sekolah_db", null, 1);
4    }
5 
6    @Override
7    public void onCreate(SQLiteDatabase db) {
8        //db.execSQL("");
9    }
10 
11    @Override
12    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
13        //db.execSQL("");
14        onCreate(db);
15    }
16 
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];
23        //db.execSQL("");
24    }
25}
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 :
1public class SqliteToListviewActivity extends ListActivity {
2 
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);
7 
8    @Override
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();
14 
15        this.muat_ulang();
16        this.tambahdata();
17    }
18 
19    public void muat_ulang()
20    {
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);
24    }
25 
26    public void tambahdata()
27    {
28        helper.tambah(db);
29        this.muat_ulang();
30    }
31}
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"?>
2<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3    android:layout_height="wrap_content"
4    android:id="@+id/layoutBaris"
5    android:orientation="horizontal"
6    android:layout_width="fill_parent">
7 
8    <TextView
9        android:layout_width="wrap_content"
10        android:layout_height="wrap_content"
11        android:layout_alignParentLeft="true"
12        android:id="@+id/nama"
13        android:text="Nama"
14        android:textSize="15sp"
15        android:padding="10dip" />
16    <TextView
17        android:layout_width="wrap_content"
18        android:layout_alignParentRight="true"
19        android:layout_height="wrap_content"
20        android:id="@+id/alamat"
21        android:text="Alamat"
22        android:gravity="right"
23        android:textSize="15sp"
24        android:padding="10dip" />
25 
26</RelativeLayout>
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

Share this article :

0 komentar:

Speak up your mind

Tell us what you're thinking... !

TUTORIAL BLOG

 
Support : Creating Website | Johny Template | Mas Template
Proudly powered by Blogger
Copyright © 2011. informatika.com - All Rights Reserved
Template Design by Creating Website Published by Mas Template