Sunday, 12 July 2015

Contoh program menggunakan Database SQLite di android



SQLite adalah database yang bisa dibangun di android. SQLite memiliki fitur relasional database, hampir sama dengan SQL pada desktop hanya saja SQLite membutuhkan memori yang sedikit.
1.       Buatlah Android Aplikasi Project
Klink Next hingga Finist.

2.       Selanjutnya Bukalah File activity_main.xml dan tulislah seperti yang di bawah ini
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="16dp"
        android:layout_marginTop="38dp"
        android:text="NAMA"
        android:textAppearance="?android:attr/textAppearanceMedium" />









    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="23dp"
        android:text="NIM"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
        android:id="@+id/nama"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView1"
        android:layout_alignBottom="@+id/textView1"
        android:layout_alignParentRight="true"
        android:layout_marginRight="14dp"
        android:ems="10" >

        <requestFocus />
    </EditText>

    <Button
        android:id="@+id/simpan"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/nama"
        android:layout_alignRight="@+id/textView3"
        android:layout_below="@+id/nim"
        android:layout_marginTop="19dp"
        android:text="SIMPAN DATA" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/nama"
        android:layout_centerHorizontal="true"
        android:text="IRIN SAPUTRA         11351100225"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
        android:id="@+id/nim"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView2"
        android:layout_alignBottom="@+id/textView2"
        android:layout_alignLeft="@+id/nama"
        android:ems="10"
        android:inputType="number" />




    <TableLayout
        android:id="@+id/tabledata"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/simpan"
        android:layout_marginTop="18dp" >

        <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/Textno"
                android:layout_width="40dip"
                android:layout_height="wrap_content"
                android:text="NO."
                android:textAppearance="?android:attr/textAppearanceMedium" />

            <TextView
                android:id="@+id/Textnama"
                android:layout_width="120dip"
                android:layout_height="wrap_content"
                android:text="NAMA"
                android:textAppearance="?android:attr/textAppearanceMedium" />

            <TextView
                android:id="@+id/Textnim"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="NIM"
                android:textAppearance="?android:attr/textAppearanceMedium" />
        </TableRow>
    </TableLayout>

</RelativeLayout>









Jika Sudah Selesai Maka Tampilan Akan Seperti Gambar dibawah Ini
3.       Klik Kanan Di Src > com.irin_saputra > Pilih New Class dan kasih nama  Db_Manejer
Dan Isilah dengan koding di bawah ini. “// Diatas Koding Adalah Penjelasan”
package com.irin_saputra;

import java.util.ArrayList;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class Db_Manager {
       //Mendeklarasikan Row
       private static final String ROW_ID = "_id";
       private static final String ROW_NAMA = "Nama";
       private static final String ROW_NIM = "Nim";
       //Mendeklarasikan Nama Data_db dan table dan versi Database
       private static final String NAMA_DB = "mahasiswa";
       private static final String NAMA_TABEL = "daftar_mahasiwa";
       private static final int DB_VERSION = 1;
       //mendeklarasikan CREATE_TABLE = MEMBUAT TABLE
       private static final String CREATE_TABLE = "create table "
              +NAMA_TABEL+"("+ROW_ID+" integer PRIMARY KEY autoincrement, "
              +ROW_NAMA+" text,"+ROW_NIM+" text)";
       //membuat mendeklarasikan Context itu adalah context
       private final Context context;
       //membuat mendeklarasikan DatabaseOpenHelper itu adalah dbhelper
       private DatabaseOpenHelper dbHelper;
       //membuat mendeklarasikan SQLiteDatabase itu adalah db
       private SQLiteDatabase db;
       //mengambil context untuk mengakses system di android
       public Db_Manager(Context ctx) {
              this.context = ctx;

              // membuat DatabaseOpenHelper
              dbHelper = new DatabaseOpenHelper(context);
              //menuliskan DatabaseOpenHelper = SQLiteDatabase
              db = dbHelper.getWritableDatabase();
       }
      
       private static class DatabaseOpenHelper extends SQLiteOpenHelper{
              //membuat database Nya
              public DatabaseOpenHelper(Context context) {
                     super(context , NAMA_DB , null , DB_VERSION);
                     // TODO Auto-generated constructor stub
              }

              @Override
              public void onCreate(SQLiteDatabase db) {
                     // TODO Auto-generated method stub
                     db.execSQL(CREATE_TABLE);
                    
              }
              //memperbarui database bila sudah ada
              @Override
              public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
                     // TODO Auto-generated method stub
                     db.execSQL("DROP TABLE IF EXISTS "+NAMA_DB);
                     onCreate(db);
              }
       }
      
       //menutup DatabaseOpenHelper
              public void close(){
                     dbHelper.close();
              }
              //menambahkan pada row
              public void RowTambah(String nama , String nim){
                     ContentValues irin = new ContentValues();
                     irin.put(ROW_NAMA, nama);
                     irin.put(ROW_NIM, nim);
                     try {
                           //menambahkan nama tabel bila tidak error
                           db.insert(NAMA_TABEL, null, irin);
                     } catch (Exception e) {
                           // TODO: handle exception
                           Log.e("DB ERROR" , e.toString());
                           e.printStackTrace();
                     }
              }
              //membuat array pada table layout
              public ArrayList<ArrayList<Object>>AmbilSemuaData(){
                     ArrayList<ArrayList<Object>>dataArray = new ArrayList<ArrayList<Object>>();
                     Cursor cur;
                     try {
                           cur = db.query(NAMA_TABEL, new String[]{ROW_ID , ROW_NAMA , ROW_NIM}, null, null, null, null, null);
                           cur.moveToFirst();
                           if(!cur.isAfterLast()){
                                  do {
                                         ArrayList<Object> dataList = new ArrayList<Object>();
                                         dataList.add(cur.getLong(0));
                                         dataList.add(cur.getString(1));
                                         dataList.add(cur.getString(2));
                                        
                                         dataArray.add(dataList);
                                  } while (cur.moveToNext());
                           }

                     } catch (Exception e) {
                           // TODO: handle exception
                           e.printStackTrace();
                            Log.e("DB ERROR", e.toString());
                     }
                     return dataArray;
              }
                    
             
       }


4.       Selanjutnya Klik Kanan Di Src > com.irin_saputra > Mainactivity.java
Dan Isilah dengan koding di bawah ini. “// Diatas Koding Adalah Penjelasan”
package com.irin_saputra;

import java.util.ArrayList;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.Toast;


public class MainActivity extends Activity {
       //mendeklarasikan
       EditText nama, nim;
       Db_Manager dm;
       Button simpan;
       TableLayout tabeldata;

       @Override
       protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
              //menjadikan Objek dari Kelas DataBase Maneger Menjadi Ojek ke MainActivity
              dm = new Db_Manager(MainActivity.this);

              tabeldata = (TableLayout)findViewById(R.id.tabledata);
              nama = (EditText)findViewById(R.id.nama);
              nim = (EditText)findViewById(R.id.nim);
             
              simpan = (Button)findViewById(R.id.simpan);
              //membuat Action Jika click pada tombol button Simpan
              simpan.setOnClickListener(new OnClickListener() {
                    
                     @Override
                     public void onClick(View v) {
                           // TODO Auto-generated method stub
                           //Memanggil Methot simpandata;
                           simpandata();
                     }
              });
              //Memanggil Methot UpdateTabel;
              UpdateTabel();
             
       }

       @Override
       public boolean onCreateOptionsMenu(Menu menu) {
              // Inflate the menu; this adds items to the action bar if it is present.
              getMenuInflater().inflate(R.menu.main, menu);
              return true;
       }     
       ////Membuat Mhetot Simpandata
       protected void simpandata(){
              try {
                     dm.RowTambah(nama.getText().toString(), nim.getText().toString());
                    
                     Toast.makeText(MainActivity.this, "Berhasil disimpan Di Database",Toast.LENGTH_SHORT).show();
                     UpdateTabel();
              } catch (Exception e) {
                     // TODO: handle exception
                     e.printStackTrace();
                     Toast.makeText(MainActivity.this," GAGAL MENYIMPAN"+e.toString(),Toast.LENGTH_SHORT).show();
                                 
              }
       }
       //Membuat Mhetot Update Tabel
       public void UpdateTabel(){
              while (tabeldata.getChildCount() > 1) {
                     tabeldata.removeViewAt(1);
                     }

                     ArrayList<ArrayList<Object>> data = dm.AmbilSemuaData();
                      for (int posisi = 0; posisi < data.size(); posisi++) {
                            TableRow tabelBaris = new TableRow(this);
                            ArrayList<Object> baris = data.get(posisi);
                            TextView idTxt = new TextView(this);
                            idTxt.setText(baris.get(0).toString());
                            tabelBaris.addView(idTxt);
                            TextView namaTxt = new TextView(this);
                            namaTxt.setText(baris.get(1).toString());
                            tabelBaris.addView(namaTxt);
                            TextView nimmmm = new TextView(this);
                            nimmmm.setText(baris.get(2).toString());
                            tabelBaris.addView(nimmmm);
                            tabeldata.addView(tabelBaris);
                     }
             
       }
}

5.       Klik Kanan Di Project > Run  As  > Android Aplikasi!!!

No comments:

Post a Comment