Tutorial Belajar Pemrograman, membuat game, membuat aplikasi, membuat program, android, game maker, yii, php, CSS, HTML, java, javascript, codeigniter, jquery, Pascal, c++

Wednesday, November 20, 2013

Membuat Aplikasi Android Operasi Database

Membuat Aplikasi Android Operasi Database - Pada Aplikasi Android Update Database kita akan ubah Aplikasi Android sebelumnya yang hanya mampu menginput data ke database kali ini kita akan mencoba udpate data yang ada di database SQLite. Pada artikel kali juga saya akan menjelaskan lebih terperinci mengenai DBAdapter.java yang tidak di bahas pada aplikasi sebelumnya.

Baca juga : Coding Maps Di Android

Pertama bukalah project Database1 anda di eclipse. jika anda belum pernah membuatnya lihatlah cara membuatnya di sini Membuat Aplikasi Android Koneksi Database.

1. DBAdapter.java

Lihatlah isi file DBAdapter.java anda, tidak ada yang perlu di ubah pada file ini namun disini kami akan menjelaskan file ini. lihatlah sourcenya di bawah :

package com.wilis.database1;

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

public class DBAdapter {
 public static final String KEY_ROWID = "_id";
 public static final String KEY_ISBN = "isbn";
 public static final String KEY_TITLE = "title";
 public static final String KEY_PUBLISHER = "publisher";
 public static final String TAG = "DBAdapter";
 
 private static final String DATABASE_NAME = "books";
 private static final String DATABASE_TABLE = "titles";
 private static final int DATABASE_VERSION = 1;
 
 private static final String DATABASE_CREATE = "create table titles(_id integer primary key autoincrement, " + "isbn text not null, title text not null, "+"publisher text not null);";
 private final Context context;
 
 private static DatabaseHelper DBHelper;
 private static SQLiteDatabase db;
 
 public DBAdapter(Context ctx){
  this.context = ctx;
  DBHelper = new DatabaseHelper(context);
 }
 
 private static class DatabaseHelper extends SQLiteOpenHelper {
  DatabaseHelper(Context context){
   super(context, DATABASE_NAME, null, DATABASE_VERSION);
  }
  
  @Override
  public void onCreate(SQLiteDatabase db){
   db.execSQL(DATABASE_CREATE);
  }
  
  @Override
  public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
   Log.w(TAG, "Upgrading database from version " + oldVersion +" To "+ newVersion +" , wich will destroy all old data");
   db.execSQL("DROP TABLE IF EXISTS titles");
   onCreate(db);
  }
 }
  
  public DBAdapter open() throws SQLException {
   db = DBHelper.getWritableDatabase();
   return this;
  }
  
  public void close(){
   DBHelper.close();
  }
  
  public long insertTitle(String isbn, String title, String publisher){
   ContentValues initialValues = new ContentValues();
   initialValues.put(KEY_ISBN, isbn);
   initialValues.put(KEY_TITLE, title);
   initialValues.put(KEY_PUBLISHER, publisher);
   return db.insert(DATABASE_TABLE, null, initialValues);
  }
  
  public boolean deleteTitle(long rowId){
   return db.delete(DATABASE_TABLE, KEY_ROWID + "=" + rowId, null) > 0;
  }
  
  public Cursor getAllTitles(){
   return db.query(DATABASE_TABLE, new String[] {
     KEY_ROWID,
     KEY_ISBN,
     KEY_TITLE,
     KEY_PUBLISHER
   }, null, null, null, null, null);
  }
  
  public Cursor getTitle(long rowId) throws SQLException{
   Cursor mCursor = db.query(true, DATABASE_TABLE, new String[]{
     KEY_ROWID,
     KEY_ISBN,
     KEY_TITLE,
     KEY_PUBLISHER
   }, null, null, null, null, null, null);
   
   if(mCursor != null){
    mCursor.moveToFirst();
   }
   return mCursor;
  }
  
  public boolean updateTitle(long rowId, String isbn, String title, String publisher){
   ContentValues args = new ContentValues();
   args.put(KEY_ISBN, isbn);
   args.put(KEY_TITLE, title);
   args.put(KEY_PUBLISHER, publisher);
   return db.update(DATABASE_TABLE, args, KEY_ROWID + "=" + rowId, null) > 0;
  }
}

a. Perhatikan script berikut :

import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

Inilah library yan digunakan untuk menghubungkan aplikasi dengan SQLite.

b. Kemudian untuk nama database, version, dan tabelnya didefinisikan disini :

public static final String KEY_ROWID = "_id";
 public static final String KEY_ISBN = "isbn";
 public static final String KEY_TITLE = "title";
 public static final String KEY_PUBLISHER = "publisher";
 public static final String TAG = "DBAdapter";
 private static final String DATABASE_NAME = "books";
 private static final String DATABASE_TABLE = "titles";
 private static final int DATABASE_VERSION = 1;
 private static final String DATABASE_CREATE = "create table titles(_id integer primary key autoincrement, " + "isbn text not null, title text not null, "+"publisher text not null);";
 private final Context context;

dan juga disini :

public void onCreate(SQLiteDatabase db){
 db.execSQL(DATABASE_CREATE);
}


Nama databasenya adalah books dengan field-field id, isbn, title, publisher beserta tipe fieldnya.

c. Kemudian untuk fungsi open database menggunakan script berikut :

public DBAdapter open() throws SQLException {
 db = DBHelper.getWritableDatabase();
 return this;
}

d. Untuk fungsi insert data :

public long insertTitle(String isbn, String title, String publisher){
 ContentValues initialValues = new ContentValues();
 initialValues.put(KEY_ISBN, isbn);
 initialValues.put(KEY_TITLE, title);
 initialValues.put(KEY_PUBLISHER, publisher);
 return db.insert(DATABASE_TABLE, null, initialValues);
}

e. Untuk mendelete data


public boolean deleteTitle(long rowId){
 return db.delete(DATABASE_TABLE, KEY_ROWID + "=" + rowId, null) > 0;
}

f. Untuk menampilkan semua data

public Cursor getAllTitles(){
 return db.query(DATABASE_TABLE, new String[] {
     KEY_ROWID,
     KEY_ISBN,
     KEY_TITLE,
     KEY_PUBLISHER
   }, null, null, null, null, null);
}

g. Untuk mengupdate data


public boolean updateTitle(long rowId, String isbn, String title, String publisher){
 ContentValues args = new ContentValues();
 args.put(KEY_ISBN, isbn);
 args.put(KEY_TITLE, title);
 args.put(KEY_PUBLISHER, publisher);
 return db.update(DATABASE_TABLE, args, KEY_ROWID + "=" + rowId, null) > 0;
}

2. Database1.java

Untuk mengupdate data ubahlah isi script database1.java dalam direktori src/com.wilis.database1 menjadi seperti ini :

package com.wilis.database1;

import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.widget.Toast;

public class database1 extends Activity {
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  DBAdapter db = new DBAdapter(this);
  db.open();
  if (db.updateTitle(1, "1234", "Programmer Aplikasi Android",
    "Toples Programer")) {
   Toast.makeText(this, "Update Berhasil", Toast.LENGTH_LONG).show();
  } else {
   Toast.makeText(this, "Update Gagal", Toast.LENGTH_LONG).show();
  }
  Cursor c = db.getTitle(1);
  if (c.moveToFirst())
   DisplayTitle(c);
  else
   Toast.makeText(this, "Title tidak ditemukan", Toast.LENGTH_LONG)
     .show();
  db.close();
 }

 private void DisplayTitle(Cursor c) {
  // TODO Auto-generated method stub
  Toast.makeText(
    this,
    "id " + c.getString(0) + "\n" + "ISBN : " + c.getString(1)
      + "\n" + "TITLE : " + c.getString(2) + "\n"
      + "Publisher : " + c.getString(3), Toast.LENGTH_LONG)
    .show();
 }
}

Sebelum menjalankan program coba anda cek terlebih dahulu isi data database anda di SQLite Database.

SQLite Database

Sekarang coba anda jalankan aplikasi anda dengan klik Run > Run As Android Aplication.

Toast update database

Sekarang coba anda cek kembali SQLite Database anda.

sqlite update

 Jika pada aplikasi anda muncul pesan update berhasil dan data pada SQLite Database anda berubah maka anda berhasil.

Selanjutnya jika anda mau menghapus data yang ada pada datbase anda, anda dapat mengganti kodenya dengan script berikut :

db.open();

     if(db.deleteTitle(1))
          Toast.makeText(this, "Penghapusan Berhasil", Toast.LENGTH_LONG).show();

     else

          Toast.makeText(this, "Penghapusan Gagal", Toast.LENGTH_LONG).show();

db.close();

Sedangkan jika anda ingin melihat semua isi data yang ada di database anda dapat menggantinya dengan kode di bawah :

db.open();
    Cursor c = db.getAllTitles();
    if(c.moveToFirst()){
    do{
           DisplayTitle(c);
        }while(c.moveToNext());
    }else{
        Toast.makeText(this, "kga ad", Toast.LENGTH_LONG).show();
    }
db.close();

Sumber :  Pemograman Aplikasi Mobile Smartphone dan tablet PC Berbasic Android Penerbit Informatika, Bandung, 2012 By : Nazruddin Safaat.

Aplikasi Android Operasi Database anda sekarang sudah selesai, baca juga tutorial membuat aplikasi android lainnya.

Terima Kasih Telah Mengunjungi Blog Sederhana Ini.

Di Mohon Apabila Anda Ingin Mengcopas Artikel Pada Blog ini Cantumkan URL Sumber.

Sebagai Pengunjung Yang Baik Anda Dapat Meninggalkan Komentar di Blog Sederhana Ini.

Share this post

1 komentar

  1. :) :-) :)) =)) :( :-( :(( :d :-d @-) :p :o :>) (o) [-( :-? (p) :-s (m) 8-) :-t :-b b-( :-# =p~ :-$ (b) (f) x-) (k) (h) (c)

    ReplyDelete

:) :) :-) :-) :)) :)) =)) =)) :( :( :-( :-( :(( :(( :d :d :-d :-d @-) @-) :p :p :o :o :>) :>) (o) (o) [-( [-( :-? :-? (p) (p) :-s :-s (m) (m) 8-) 8-) :-t :-t :-b :-b b-( b-( :-# :-# =p~ =p~ :-$ :-$ (b) (b) (f) (f) x-) x-) (k) (k) (h) (h) (c) (c) cheer cheer

 
© Jin Toples Programming
Designed by BlogThietKe Cooperated with Duy Pham
Released under Creative Commons 3.0 CC BY-NC 3.0