Kamis, 08 Juni 2017

Membuat Project Database SQLite

“Connection Database”

    Pada aplikasi database ini, kita coba membuat database, tabel serta menyimpan data kedalam database. Buatlah project baru. Terdiri dari dua buah file java yaitu DBAdapter.java yang meng-handle masalah SQLite beserta fungsi-fungsin yang dibutuhkan seperti struktur dan skema database yang digunakan untuk melakukan pengiriman data yang akan ditambah kedatabase, membuka, mengedit memanipulasi database.

DBAdapter.java

package com.example.percobaan1;

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";
    private 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 DatabaseHelper DBHelper;
    private 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 + ", which will destroy all old data");
            db.execSQL("DROP TABLE IF EXISTS titles");
            onCreate(db);
        }
        }
   
    //---opens the database---
    public DBAdapter open() throws SQLException
    {
        db = DBHelper.getWritableDatabase();
        return this;
    }
   
    //--closes the database--
    public void close()
    {
        DBHelper.close();
    }
   
    // ----insert a title into the database---
    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);
    }
   
    //---deletes a particular title---
    public boolean deleteTitle(long rowId)
    {
        return db.delete(DATABASE_TABLE, KEY_ROWID +
                "=" + rowId, null) > 0;
    }
   
    //---retrieves all the titles---
    public Cursor getAllTitles()
    {
        return db.query(DATABASE_TABLE, new String[]{
                KEY_ROWID,
                KEY_ISBN,
                KEY_TITLE,
                KEY_PUBLISHER},
                null,
                null,
                null,
                null,
                null);
    }
   
    //---retrieves a particular title---
    public Cursor getTitle(long rowId) throws SQLException
    {
        Cursor mCursor =
                db.query(true, DATABASE_TABLE, new String[]{
                        KEY_ROWID,
                        KEY_ISBN,
                        KEY_TITLE,
                        KEY_PUBLISHER
                },
                        KEY_ROWID+"="+ rowId,
                        null,
                        null,
                        null,
                        null,
                        null);
        if(mCursor != null) {
            mCursor.moveToFirst();
        }
        return mCursor;
    }
   
    //---updates a title---
    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;
   
       
    }
}

   
Dan script untuk file java Database1.java

package com.example.percobaan1;

import android.app.Activity;
import android.os.Bundle;

public class Database1 extends Activity {

    // ** Called when the activity is first created.*/

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        DBAdapter db = new DBAdapter(this);

        // --- add 3 titles---

        db.open();
        long id;
        id = db.insertTitle("1234512345", "Android Programer's References",
                "Washington Press");
        id = db.insertTitle("5432112345", "Linux Programing", "Bandung Press");
        id = db.insertTitle("0987654321", "Android Devolpment Life Cycle",
                "Hongkong Press");
        db.close();
    }
}

dan script untuk file activity_main.xml :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:background="#ffffff"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context=".Database1" >

   <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="@string/hello_world" />

</RelativeLayout>




















 

































Dan untuk memastikan kita lihat databasenya, dengan cara buka file exfoler pada ADT kemudian cari nama package pilih database yang sudah di buat.
Hasilnya seperti pada gambar di bawah ini:








 




 

Tidak ada komentar:

Posting Komentar