You are on page 1of 4

Android dan SQLite

Aplikasi android yang menggunakan SQLite sebagai sarana penyimpanan data, tidak akan lepas
dengan salah satu public class abstract yaitu SQLiteOpenHelper. Class tersebut akan membantu
dalam mengatur pembuatan database dan manajemen versi database.

Untuk Membantu pemahaman mengenai SQLite, buat aplikasi Kamus bahasa Inggris-Indonesia
yang sederhana berikut ini:

1. Buat projek dengan nama SqliteDemo

2. Buat Class baru di dalam src/<nama_package> kemudian extends SQLiteOpenHelper

Workshop Android (SQLite) – Pius Anggoro 1


3. Kemudian sesuaikan sintaks pada DataKamus.java hingga menjadi seperti ini:
package ang.example.sqlitedemo;

import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DataKamus extends SQLiteOpenHelper{


private static final String NAMA_DB = "dbkamus";
public static final String INGGRIS = "inggris";
public static final String INDONESIA = "indonesia";

public DataKamus(Context context) {


super(context, NAMA_DB, null, 1 );
}

@Override
public void onCreate(SQLiteDatabase arg0) {
}

Workshop Android (SQLite) – Pius Anggoro 2


@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
}

public void createTable(SQLiteDatabase db){


db.execSQL("DROP TABLE IF EXISTS kamus");
db.execSQL("CREATE TABLE if not exists kamus (" +
"id INTEGER PRIMARY KEY AUTOINCREMENT, " +
"inggris TEXT, indonesia TEXT);");
}

public void generateData (SQLiteDatabase db){


ContentValues cv = new ContentValues();

cv.put(INGGRIS, "run");
cv.put(INDONESIA, "lari");
db.insert("kamus", INGGRIS, cv);

cv.put(INGGRIS, "read");
cv.put(INDONESIA, "baca");
db.insert("kamus", INGGRIS, cv);
}

4. Lengkapi file main.xml hingga membentuk tampilan seperti ini:

5. Lengkapi file <Activity>.java menjadi seperti di bawah ini:


package ang.example.sqlitedemo;
import android.os.Bundle;
...

public class DemoDb extends Activity {


private SQLiteDatabase db = null;
private Cursor kamusCursor = null;
private DataKamus dataKamus = null;
public static final String INDONESIA = "indonesia";
public static final String INGGRIS = "inggris";
EditText editInggris;
TextView txtIndo;

Workshop Android (SQLite) – Pius Anggoro 3


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
dataKamus = new DataKamus(this);
db = dataKamus.getWritableDatabase();
dataKamus.createTable(db);
dataKamus.generateData(db);

setContentView(R.layout.activity_demo_db);
editInggris = (EditText) findViewById(R.id.editInggris);
txtIndo = (TextView) findViewById(R.id.teksIndonesia);
}

public void getTerjemahan(View view){


String hasil = "";
String kataInggris= editInggris.getText().toString();

kamusCursor = db.rawQuery("SELECT ID, INGGRIS, INDONESIA "


+"FROM kamus WHERE INGGRIS='"
+kataInggris
+"' order BY INGGRIS", null);
if (kamusCursor.moveToFirst()){
hasil = kamusCursor.getString(2);
for (; !kamusCursor.isAfterLast(); kamusCursor.moveToNext()){
hasil = kamusCursor.getString(2);
}
} if (hasil.equals("")){
hasil = "kata tidak ditemukan";
}
txtIndo.setText(hasil);
}

@Override
protected void onDestroy() {
super.onDestroy();
kamusCursor.close();
db.close();
}
}

6. Run SqliteDemo dan lihat hasilnya:

7. Untuk memperkaya pengetahuan anda mengenai Sqlite, silahkan cari referensi yang
berhubungan dengan:
 Menambah, Menghapus dan Menampilkan database dalam ListView.
 Pre-loaded sqlite database, supaya database selalu ada walaupun aplikasi telah ditutup.
 Koneksi dengan database di server dengan fitur: HttpConnection, PHP, JSON.

Workshop Android (SQLite) – Pius Anggoro 4

You might also like