Referensi lengkap SQLite dapat dilihat di http://www.sqlite.org SQLite tidak hanya digunakan di Android. Setiap aplikasi memiliki instance database tersendiri, dan berbeda dengan shared preference, tidak disediakan fasilitas agar aplikasi dapat membaca database aplikasi lain.
Untuk menggunakan SQLite, sangat dianjurkan menggunakan class helper untuk membuka dan menutup database, menginisiasi tabel dst. Helper juga digunakan saat melakukan upgrade struktur database jika suatu saat aplikasi diupdate. Class helper ini diturunkan dari class SQLiteOpenHelper.
Membuat sqlite dengan eclipse
Untuk membuat programnya, ikuti langkah-langkah berikut ini:1. Buat layoutnya.
contoh : tambah_mahasiswa.xmlcodenya seperti berikut:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.hmkcode.android.Main"
tools:ignore="MergeRootFrame" >
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ISI BIODATA"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginTop="10dp"
android:text="@string/labelNIM"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/nim"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="0dp"
android:ems="10" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:text="@string/labelNama"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/nama"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="0dp"
android:ems="10" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:text="@string/labelProdi"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/prodi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="0dp"
android:ems="10" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:text="@string/labelJurusan"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/jurusan"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="0dp"
android:ems="10" />
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:text="@string/labelFakultas"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/fakultas"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="0dp"
android:ems="10" />
<Button
android:id="@+id/simpan"
android:layout_width="236dp"
android:layout_height="wrap_content"
android:layout_marginLeft="40dp"
android:layout_marginRight="40dp"
android:layout_marginTop="10dp"
android:text="@string/labelButton" />
</LinearLayout>
</ScrollView>
</FrameLayout>
![]() |
tampilan dari tambah_mahasiswa.xml |
2. Buat Class DBOpenHelper.java
codenya seperti berikut:
package com.hmkcode.android;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class DBOpenHelper extends SQLiteOpenHelper {
public DBOpenHelper(Context context, String name, CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
String createQueryMahasiswa = "CREATE TABLE mahasiswa (_id integer primary key, " +
"nim, nama, prodi, jurusan, fakultas);";
db.execSQL(createQueryMahasiswa);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
}
3. Buat Class Connector.java
package com.hmkcode.android;
import android.content.ContentValues;
import android.content.Context;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
public class Connector {
private static final String DB_NAME = "Beasiswa.db";
private SQLiteDatabase database;
private DBOpenHelper DBOpenHelper;
public Connector(Context context) {
DBOpenHelper = new DBOpenHelper(context, DB_NAME, null, 1);
}
public void open() throws SQLException {
// open database in reading/writing mode
database = DBOpenHelper.getWritableDatabase();
}
public void close() {
if (database != null)
database.close();
}
public void insertDataMahasiswa(String nim, String nama, String prodi, String jurusan, String fakultas) {
ContentValues newCon = new ContentValues();
newCon.put("nim", nim);
newCon.put("nama", nama);
newCon.put("prodi", prodi);
newCon.put("jurusan", jurusan);
newCon.put("fakultas", fakultas);
open();
database.insert("mahasiswa", null, newCon);
close();
}
}
4. Setting Main.java seperti berikut:
package com.hmkcode.android;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import android.os.Build;
public class Main extends Activity implements OnClickListener{
EditText nimA, namaA, prodiA, jurusanA, fakultasA;
String nim, nama, prodi, jurusan, fakultas;
Button btSimpan;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tambah_mahasiswa);
nimA = (EditText)findViewById(R.id.nim);
namaA = (EditText)findViewById(R.id.nama);
prodiA = (EditText)findViewById(R.id.prodi);
jurusanA = (EditText)findViewById(R.id.jurusan);
fakultasA = (EditText)findViewById(R.id.fakultas);
btSimpan = (Button) findViewById(R.id.simpan);
btSimpan.setOnClickListener(Main.this);
}
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
switch (view.getId()) {
case R.id.simpan :
nim = nimA.getText().toString();
nama = namaA.getText().toString();
prodi = prodiA.getText().toString();
jurusan = jurusanA.getText().toString();
fakultas = fakultasA.getText().toString();
Connector con = new Connector(this);
con.insertDataMahasiswa(nim, nama, prodi, jurusan, fakultas);
con.close();
Toast.makeText(Main.this,"Data Berhasil Disimpan",Toast.LENGTH_LONG).show();
break;
}
}
}
5. Dan yang terakhir setting pada res/values/strings.xml ubah seperti berikut:
<resources>
<string name="app_name">SQLite Khoirul</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string name="labelNIM">NIM</string>
<string name="labelNama">Nama</string>
<string name="labelProdi">Prodi</string>
<string name="labelJurusan">Jurusan</string>
<string name="labelFakultas">Fakultas</string>
<string name="labelButton">Simpan</string>
</resources>
6. Kemudian jalankan dengan Virtual Andoidnya, dan inilah hasilnya :
![]() |
Input data |
![]() |
Data yang terimpan |
Sekian tutorial untuk membuat SQLite database.
Gan kalo untuk menampilkan di list view nya gimana ?
ReplyDeleteliat di pya org lain beda lg cara database ya...
mohon pencerahan y gan
bang kalo mau bikin fungsi hapusnya gmana ?
ReplyDeletekok gak bisa di copy gan . penting nih untuk tugas gue. tolong !!!
ReplyDeleteDi blok -> Ctrl+c
DeleteGan itu yang Setting Main.java XMLnya kosongin aja ?
ReplyDeletepunya ane masih eror di Main.javanya.
Itu udh ada contohnya gan
Deletekalo mau nampilin data nya di table gmna gan ?
ReplyDelete