link pak mesran

Rabu, 26 Juni 2013

Tentang Android Membuat Aplikasi Database SQLite

Kalau kita baca spesifikasi OS android ini, maka salah satu fitur yang ditawarkan adalah kita dapat membuat database di android yaitu dengan menggunakan SQLite. Jadi kita bisa membuat aplikasi seperti yang ada di computer walaupun tidak persis sama karena computer memiliki resource yang lebih besar.

SQLite

Seperti telah dijelaskan diatas database pada android menggunakan SQLite. Dengan SQLite untuk insert, update dan query data dapat dilakukan dengan syntak SQL.

Untuk itu sebelum melangkah pembuatan aplikasi Android yang memanfatkan firtur SQlite databasenya, kita harus menguasai cara menggunakan SQLite.

Sama seperti database lainnya syntak SQLnya terbagi 2 kategori yaitu syntak untuk Data Definition Language (DDL) dan Data Manipulation Language (DML). Bagi yang pernah belajar database pasti tidak asing dengan kedua istilah tersebut.

Sekarang ada pertanyaan nih apa beda DDL  dan DML ?

Biar mudah dipahami, kalau database itu kita ibaratkan sebuah rumah, maka DDL itu adalah syntax untuk membuat rumah, menambah kamar, merubah bangunan rumah, makanya yang termasuk syntak-syantak DDL adalah create table, alter table, drop table.

sedangkan DML adalah syntax untuk mengetahui isi rumah, siapa saja penghuninya, berapa jumlahnya, ada berapa yang pria dan yang wanita, adalah anak-anak dirumah itu.

Makanya yang termasuk syntak-syntak DML adalah insert, update, delete, select

Sekarang mari kita buat project yang menggunakan database sqlite di android. Untuk study kasusnya coba kita bikin yang sederhana dulu yaitu menampilkan Biodata Mahasiswa, yang mempunyai atribut NIM (Nomor Induk Mahasiswa), Nama dan Alamat.
OK. Langsung saja ke step by step pembuatan aplikasinya.
Langkah 1 : Buat project baru dengan nama ContohDatabaseLocal. Setelah project selesai dibikin, langkah pertama kali pasti mendesain layout-nya terlebih dahulu. Silahkan buka file res/layout/main.xml. Kemudian copy-paste contoh XML dibawah ini.

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:id="@+id/scrollView1"  
  4.     android:layout_width="match_parent"  
  5.     android:layout_height="wrap_content" >  
  6.   
  7.     <LinearLayout   
  8.         android:layout_width="wrap_content"  
  9.         android:layout_height="wrap_content"  
  10.         android:orientation="vertical">  
  11.         <LinearLayout  
  12.             android:id="@+id/header"  
  13.             android:layout_width="match_parent"  
  14.             android:layout_height="wrap_content"  
  15.             android:orientation="vertical" >  
  16.               
  17.             <TextView android:id="@+id/txtLogo"  
  18.             android:layout_width="wrap_content"  
  19.             android:layout_height="wrap_content"  
  20.             android:text="Test Database"/>  
  21.               
  22.             <Button android:id="@+id/btnTampil"  
  23.             android:layout_width="wrap_content"  
  24.             android:layout_height="wrap_content"  
  25.             android:text="Tampilkan Data"/>  
  26.         </LinearLayout>  
  27.       
  28.         <LinearLayout  
  29.             android:id="@+id/detail"  
  30.             android:layout_width="match_parent"  
  31.             android:layout_height="wrap_content"  
  32.             android:orientation="horizontal" >  
  33.       
  34.             <TableLayout  
  35.                 android:id="@+id/tableLayout"  
  36.                 android:layout_width="match_parent"  
  37.                 android:layout_height="wrap_content"  
  38.                 android:layout_gravity="center"  
  39.                 android:layout_weight="1" >  
  40.             </TableLayout>  
  41.         </LinearLayout>  
  42.     </LinearLayout>  
  43. </ScrollView>  
Langkah 2 : Setelah selesai mendesain layout-nya, giliran membuat programnya. Nah..untuk bisa memanfaatkan SQLite, anda perlu membuat sebuah class yang menurunkan (extends) object SQLiteOpenHelper. Pada contoh ini, saya sengaja membuat class dengan nama OperasiDatabase. Contoh source code selengkapnya bisa dilihat dibawah ini.

  1. package eko.contohdatabase;  
  2.   
  3. import android.content.ContentValues;  
  4. import android.content.Context;  
  5. import android.database.sqlite.SQLiteDatabase;  
  6. import android.database.sqlite.SQLiteOpenHelper;  
  7.   
  8. public class OperasiDatabase extends SQLiteOpenHelper{  
  9.     private static final String NAMA_DATABASE = "dbMahasiswa";  
  10.     public OperasiDatabase(Context context) {  
  11.         super(context, NAMA_DATABASE, null1);  
  12.     }  
  13.   
  14.     @Override  
  15.     public void onCreate(SQLiteDatabase arg0) {  
  16.     }  
  17.   
  18.     @Override  
  19.     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
  20.     }  
  21.     //method createTable untuk membuat table kamus  
  22.     public void createTable(SQLiteDatabase db){  
  23.         db.execSQL("DROP TABLE IF EXISTS biodata");  
  24.         db.execSQL("CREATE TABLE if not exists biodata (nim VARCHAR(20) PRIMARY KEY, nama varchar(50), alamat TEXT);");  
  25.     }  
  26.   
  27.     //method generateData untuk mengisikan data ke kamus.  
  28.     public void generateData(SQLiteDatabase db){  
  29.         ContentValues cv=new ContentValues();  
  30.         cv.put("nim""97.111.486");  
  31.         cv.put("nama""Eko Heri Susanto");  
  32.         cv.put("alamat""Kabupaten Pacitan");  
  33.         db.insert("biodata",null,cv);  
  34.           
  35.         cv.put("nim""00.111.123");  
  36.         cv.put("nama""Ilyas Ahsan Fadhlullah");  
  37.         cv.put("alamat""LANUD Iswahyudi, Maospati, Kabupaten Magetan");  
  38.         db.insert("biodata",null,cv);  
  39.     }  
  40. }  
Langkah 3 : Setelah selesai membuat class OperasiDatabase, selanjutnya silahkan buat class Activity yang juga berperan sebagai user interface aplikasi. Contoh source code-nya terlihat seperti dibawah ini.

  1. package eko.contohdatabase;  
  2.   
  3. import android.app.Activity;  
  4. import android.database.Cursor;  
  5. import android.database.sqlite.SQLiteDatabase;  
  6. import android.graphics.Color;  
  7. import android.os.Bundle;  
  8. import android.view.Gravity;  
  9. import android.view.View;  
  10. import android.widget.Button;  
  11. import android.widget.TableLayout;  
  12. import android.widget.TableRow;  
  13. import android.widget.TextView;  
  14.   
  15.   
  16. public class TestDatabase extends Activity {  
  17.     private SQLiteDatabase db = null;  
  18.     private Cursor dbCursor = null;  
  19.     private Button btnTampil;  
  20.     /** Called when the activity is first created. */  
  21.     @Override  
  22.     public void onCreate(Bundle savedInstanceState) {  
  23.         super.onCreate(savedInstanceState);  
  24.         setContentView(R.layout.main);  
  25.           
  26.         OperasiDatabase oprDatabase = new OperasiDatabase(this);  
  27.         db = oprDatabase.getWritableDatabase();  
  28.         oprDatabase.createTable(db);  
  29.         oprDatabase.generateData(db);  
  30.           
  31.         btnTampil = (Button)findViewById(R.id.btnTampil);  
  32.         
  33.         //deklarasi event onClick pada Button  
  34.         btnTampil.setOnClickListener(new View.OnClickListener() {  
  35.             @Override  
  36.             public void onClick(View v) {  
  37.                 TampilkanData();  
  38.             }  
  39.         });  
  40.     }  
  41.       
  42.     private void TampilkanData(){  
  43.         dbCursor = db.rawQuery("SELECT * FROM biodata"null);  
  44.         dbCursor.moveToFirst();  
  45.         int jml_baris=dbCursor.getCount();  
  46.           
  47.         int kol_nim=dbCursor.getColumnIndex("nim");  
  48.         int kol_nama=dbCursor.getColumnIndex("nama");  
  49.         int kol_alamat=dbCursor.getColumnIndex("alamat");  
  50.         int indeks=1;  
  51.         String[][] data=new String[jml_baris][3];  
  52.           
  53.         data[0][0]=dbCursor.getString(kol_nim);  
  54.         data[0][1]=dbCursor.getString(kol_nama);  
  55.         data[0][2]=dbCursor.getString(kol_alamat);  
  56.           
  57.         if(dbCursor!=null){  
  58.             while(dbCursor.moveToNext()){  
  59.                 data[indeks][0]=dbCursor.getString(kol_nim);  
  60.                 data[indeks][1]=dbCursor.getString(kol_nama);  
  61.                 data[indeks][2]=dbCursor.getString(kol_alamat);  
  62.                 indeks++;  
  63.             }  
  64.         }  
  65.           
  66.         TableLayout TL=(TableLayout) findViewById(R.id.tableLayout);  
  67.         TableLayout.LayoutParams ParameterTableLayout=new TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT, TableLayout.LayoutParams.WRAP_CONTENT);  
  68.   
  69.           
  70.         for(int awal=0; awal<jml_baris;awal++){  
  71.             TableRow TR=new TableRow(this);  
  72.             TR.setBackgroundColor(Color.RED);  
  73.             TR.setLayoutParams(ParameterTableLayout);  
  74.             TableRow.LayoutParams ParameterTableRow=new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT);  
  75.             ParameterTableRow.setMargins(2,2,2,2);  
  76.             for(int kolom = 0;kolom < 3; kolom++){  
  77.                 TextView TV=new TextView(this);  
  78.                 TV.setText(data[awal][kolom]);  
  79.                 TV.setTextColor(Color.WHITE);  
  80.                 TV.setPadding(2525);  
  81.                 TV.setGravity(Gravity.LEFT);  
  82.       
  83.                 TV.setBackgroundColor(Color.BLUE);  
  84.       
  85.                 TR.addView(TV,ParameterTableRow );  
  86.             }  
  87.             TL.addView(TR);  
  88.         }  
  89.           
  90.     }  
  91.     public void onDestroy() {  
  92.         super.onDestroy();  
  93.         dbCursor.close();  
  94.         db.close();  
  95.     }  
  96. }  
Sampai dengan langkah 3, maka keseluruhan pekerjaan kita sudah selesai. Jika tidak ada kesalahan program, maka output aplikasinya terlihat seperti gambar dibawah ini.



http://www.blogkomputer.com/data-tentang-android-membuat-aplikasi-database-sqlite.html


















Tidak ada komentar:

Posting Komentar