DATABASE SQLite
Menyimpan data ke database cocok untuk data terstruktur atau berulang, misalnya informasi kontak. Kelas ini beranggapan bahwa Anda telah menguasai database SQL secara umum dan membantu Anda memulai database SQLite di Android. API yang nanti Anda perlukan untuk menggunakan database di Android tersedia dalam paket
Android.database.sqlite.
Mendefinisikan Skema dan Kontrak
Salah satu prinsip utama database SQL adalah skema: deklarasi formal mengenai cara menata database. Skema ini tercermin dalam pernyataan SQL yang Anda gunakan untuk membuat database. Anda akan merasakan gunanya saat membuat kelas pendamping, yang disebut dengan kelas kontrak, yang menetapkan secara eksplisit layout skema Anda dengan cara sistematis dan terdokumentasikan sendiri.
Kelas kontrak adalah kontainer untuk konstanta yang mendefinisikan nama untuk URI, tabel, dan kolom. Kelas kontrak memungkinkan Anda menggunakan konstanta yang sama di semua kelas lainnya dalam paket yang sama. Hal ini memungkinkan Anda mengubah nama kolom di satu tempat dan menyebarkannya ke seluruh kode Anda.
Cara yang baik untuk menata kelas kontrak adalah menempatkan definisi yang bersifat global ke seluruh database Anda di tingkat akar kelas itu. Kemudian buat sebuah kelas sisipan untuk setiap tabel yang menghitung kolom-kolomnya.
Membuat Database Menggunakan SQL Helper
Setelah mendefinisikan penampilan database, Anda harus mengimplementasikan metode yang membuat dan memelihara database dan tabel.
Persis seperti file yang Anda simpan pada penyimpanan internal perangkat, Android menyimpan database Anda di ruang disk privat yang terkait dengan aplikasi. Data Anda akan aman, karena secara default area ini tidak bisa diakses aplikasi lain.
Serangkaian API berguna tersedia di kelas SQLiteOpenHelper. Bila Anda menggunakan kelas ini untuk memperoleh referensi ke database, sistem akan melakukan operasi pembuatan dan pembaruan database yang berpotensi berjalan lama hanya bila diperlukan dan tidak selama memulai aplikasi. Yang perlu Anda lakukan hanyalah memanggil getWritableDatabase() atau getReadableDatabase().
Untuk menggunakan SQLiteOpenHelper, buat subkelas yang mengganti onCreate(), onUpgrade() dan metode callback onOpen() . Anda juga mungkin perlu mengimplementasikan onDowngrade(), namun itu tidak diharuskan.
Misalnya, inilah implementasi SQLiteOpenHelper yang menggunakan beberapa perintah yang ditampilkan di atas:
public class FeedReaderDbHelper extends SQLiteOpenHelper {
// If you change the database schema, you must increment the database version.
public static final int DATABASE_VERSION = 1;
public static final String DATABASE_NAME = “FeedReader.db”;
public FeedReaderDbHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
public void onCreate(SQLiteDatabase db) {
db.execSQL(SQL_CREATE_ENTRIES);
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// This database is only a cache for online data, so its upgrade policy is
// to simply to discard the data and start over
db.execSQL(SQL_DELETE_ENTRIES);
onCreate(db);
}
public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
onUpgrade(db, oldVersion, newVersion);
}
}
Untuk mengakses database, buat instance subkelas SQLiteOpenHelper:
FeedReaderDbHelper mDbHelper = new FeedReaderDbHelper(getContext());
Memasukkan Informasi ke Database
Sisipkan data ke dalam database dengan meneruskan objek ContentValues ke metode insert():
// Gets the data repository in write mode
SQLiteDatabase db = mDbHelper.getWritableDatabase();
// Create a new map of values, where column names are the keys
ContentValues values = new ContentValues();
values.put(FeedEntry.COLUMN_NAME_TITLE, title);
values.put(FeedEntry.COLUMN_NAME_SUBTITLE, subtitle);
// Insert the new row, returning the primary key value of the new row
long newRowId = db.insert(FeedEntry.TABLE_NAME, null, values);
Argumen pertama untuk insert() adalah sekadar nama tabel.
Argumen kedua memberitahu kerangka kerja apa yang perlu dilakukan dalam kejadian ContentValues kosong (yaitu Anda tidak memasukkan put nilai apa pun). Jika Anda menetapkan nama kolom, kerangka kerja menyisipkan satu baris dan menetapkan nilai kolom nol. Jika Anda menetapkan null, seperti dalam sampel kode ini, kerangka kerja tidak menyisipkan baris saat tidak ada nilai.
Membaca Informasi dari Database
Untuk membaca dari database, gunakan metode query() , dengan meneruskan kriteria pemilihan dan kolom yang diinginkan. Metode ini menggabungkan elemen insert() dan update(), kecuali daftar kolom mendefinisikan data yang ingin Anda ambil, bukannya data yang akan disisipkan. Hasil kueri dikembalikan kepada Anda dalam objek Cursor.
SQLiteDatabase db = mDbHelper.getReadableDatabase();
// Define a projection that specifies which columns from the database
// you will actually use after this query.
String[] projection = {
FeedEntry._ID,
FeedEntry.COLUMN_NAME_TITLE,
FeedEntry.COLUMN_NAME_SUBTITLE
};
// Filter results WHERE “title” = ‘My Title’
String selection = FeedEntry.COLUMN_NAME_TITLE + ” = ?”;
String[] selectionArgs = { “My Title” };
// How you want the results sorted in the resulting Cursor
String sortOrder =
FeedEntry.COLUMN_NAME_SUBTITLE + ” DESC”;
Cursor c = db.query(
FeedEntry.TABLE_NAME, // The table to query
projection, // The columns to return
selection, // The columns for the WHERE clause
selectionArgs, // The values for the WHERE clause
null, // don’t group the rows
null, // don’t filter by row groups
sortOrder // The sort order
);
Menghapus data.
// Define ‘where’ part of query.
String selection = FeedEntry.COLUMN_NAME_TITLE + ” LIKE ?”;
// Specify arguments in placeholder order.
String[] selectionArgs = { “MyTitle” };
// Issue SQL statement.
db.delete(FeedEntry.TABLE_NAME, selection, selectionArgs);
Memperbarui Database
Bila Anda perlu memodifikasi subset nilai database, gunakan metode update().
Pembaruan tabel akan menggabungkan sintaks nilai materi insert()dengan sintaks where delete().
SQLiteDatabase db = mDbHelper.getReadableDatabase();
// New value for one column
ContentValues values = new ContentValues();
values.put(FeedEntry.COLUMN_NAME_TITLE, title);
// Which row to update, based on the title
String selection = FeedEntry.COLUMN_NAME_TITLE + ” LIKE ?”;
String[] selectionArgs = { “MyTitle” };
int count = db.update(
FeedReaderDbHelper.FeedEntry.TABLE_NAME,
values,
selection,
selectionArgs);
Sumber : https://developer.android.com/training/basics/data-storage/databases.html?hl=id#WriteDbRow
Langkah-langkah Membuat project android menggunakan SQLite :
- Buka Android Studio
- Buat Projek Baru
- Berinama Projek yang akan kita buat
- kita harus menentukan Target Android Devicenya , saya pilih API 15.
- PilihEmpty Activity
- Selanjutnya pada bagian Customize The Activitybiarkan saja default
- Setelah ke 6 langkah tadi selesai kita buat DataHelper.java ,javaini adalah proses pembuatan Database SQLiteSimpan dengan Nama DataHelper.java
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DataHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = “biodatadiri.db”;
private static final int DATABASE_VERSION = 1;
public DataHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
String sql = “create table biodata(no integer primary key, nama text null, tgl text null, jk text null, alamat text null);”;
Log.d(“Data”, “onCreate: ” + sql);
db.execSQL(sql);
sql = “INSERT INTO biodata (no, nama, tgl, jk, alamat) VALUES (‘1’, ‘Darsiwan’, ‘1996-07-12’, ‘Laki-laki’,’Indramayu’);”;
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
}
}
- Kita buat layout xml pada xml activity_main.xml
- kita tuliskan source di bawah pada java
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
public class MainActivity extends AppCompatActivity {
String[] daftar;
ListView ListView01;
Menu menu;
protected Cursor cursor;
DataHelper dbcenter;
public static MainActivity ma;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn=(Button)findViewById(R.id.button2);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent inte = new Intent(MainActivity.this, BuatBiodata.class);
startActivity(inte);
}
});
ma = this;
dbcenter = new DataHelper(this);
RefreshList();
}
public void RefreshList(){
SQLiteDatabase db = dbcenter.getReadableDatabase();
cursor = db.rawQuery(“SELECT * FROM biodata”,null);
daftar = new String[cursor.getCount()];
cursor.moveToFirst();
for (int cc=0; cc < cursor.getCount(); cc++){
cursor.moveToPosition(cc);
daftar[cc] = cursor.getString(1).toString();
}
ListView01 = (ListView)findViewById(R.id.listView1);
ListView01.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, daftar));
ListView01.setSelected(true);
ListView01.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) {
final String selection = daftar[arg2]; //.getItemAtPosition(arg2).toString();
final CharSequence[] dialogitem = {“Lihat Biodata”, “Update Biodata”, “Hapus Biodata”};
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle(“Pilihan”);
builder.setItems(dialogitem, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
switch(item){
case 0 :
Intent i = new Intent(getApplicationContext(), LihatBiodata.class);
i.putExtra(“nama”, selection);
startActivity(i);
break;
case 1 :
Intent in = new Intent(getApplicationContext(), UpdateBiodata.class);
in.putExtra(“nama”, selection);
startActivity(in);
break;
case 2 :
SQLiteDatabase db = dbcenter.getWritableDatabase();
db.execSQL(“delete from biodata where nama = ‘”+selection+”‘”);
RefreshList();
break;
}
}
});
builder.create().show();
}});
((ArrayAdapter)ListView01.getAdapter()).notifyDataSetInvalidated();
}
}
- Buat 3 Empty Activitybaru
Beri nama Layout Name sebagai berikut : 1.activity_buat_biodata.xml 2.activity_lihat_biodata.xml 3.activity_update_biodata.xml
Dan Activity Name :
1.BuatBiodata.java 2.LihatBiodata.java 3.UpdateBiodata.java
11.Setelah ke 3 Activity tadi di buat tuliskan pada layout xml dengan nama masing masing :
1.activity_buat_biodata.xml
2.activity_lihat_biodata.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: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=”.LihatBiodata” >
- <TextView
- android:id=”@+id/textView1″
- android:layout_width=”wrap_content”
- android:layout_height=”wrap_content”
- android:layout_alignParentRight=”true”
- android:layout_alignParentTop=”true”
- android:layout_marginRight=”104dp”
- android:layout_marginTop=”20dp”
- android:text=”TextView”/>
- <TextView
- android:id=”@+id/textView2″
- android:layout_width=”wrap_content”
- android:layout_height=”wrap_content”
- android:layout_alignRight=”@+id/textView1″
- android:layout_below=”@+id/textView1″
- android:layout_marginTop=”20dp”
- android:text=”TextView”/>
- <TextView
- android:id=”@+id/textView3″
- android:layout_width=”wrap_content”
- android:layout_height=”wrap_content”
- android:layout_alignLeft=”@+id/textView2″
- android:layout_below=”@+id/textView2″
- android:layout_marginTop=”20dp”
- android:text=”TextView”/>
- <TextView
- android:id=”@+id/textView4″
- android:layout_width=”wrap_content”
- android:layout_height=”wrap_content”
- android:layout_alignLeft=”@+id/textView3″
- android:layout_below=”@+id/textView3″
- android:layout_marginTop=”20dp”
- android:text=”TextView”/>
- <TextView
- android:id=”@+id/textView5″
- android:layout_width=”wrap_content”
- android:layout_height=”wrap_content”
- android:layout_alignRight=”@+id/textView4″
- android:layout_below=”@+id/textView4″
- android:layout_marginTop=”20dp”
- android:text=”TextView”/>
- <TextView
- android:id=”@+id/TextView05″
- android:layout_width=”wrap_content”
- android:layout_height=”wrap_content”
- android:layout_alignBaseline=”@+id/textView5″
- android:layout_alignBottom=”@+id/textView5″
- android:layout_alignLeft=”@+id/TextView03″
- android:text=”Alamat”/>
- <TextView
- android:id=”@+id/TextView03″
- android:layout_width=”wrap_content”
- android:layout_height=”wrap_content”
- android:layout_alignBaseline=”@+id/textView4″
- android:layout_alignBottom=”@+id/textView4″
- android:layout_alignLeft=”@+id/TextView04″
- android:text=”Jenis Kelamin”/>
- <TextView
- android:id=”@+id/TextView04″
- android:layout_width=”wrap_content”
- android:layout_height=”wrap_content”
- android:layout_alignBaseline=”@+id/textView3″
- android:layout_alignBottom=”@+id/textView3″
- android:layout_alignLeft=”@+id/TextView02″
- android:text=”Tanggal Lahir”/>
- <TextView
- android:id=”@+id/TextView02″
- android:layout_width=”wrap_content”
- android:layout_height=”wrap_content”
- android:layout_alignBaseline=”@+id/textView2″
- android:layout_alignBottom=”@+id/textView2″
- android:layout_alignLeft=”@+id/TextView01″
- android:text=”Nama”/>
- <TextView
- android:id=”@+id/TextView01″
- android:layout_width=”wrap_content”
- android:layout_height=”wrap_content”
- android:layout_above=”@+id/textView2″
- android:layout_alignParentLeft=”true”
- android:text=”Nomor”/>
- <Button
- android:id=”@+id/button1″
- android:layout_width=”wrap_content”
- android:layout_height=”wrap_content”
- android:layout_alignLeft=”@+id/TextView05″
- android:layout_below=”@+id/TextView05″
- android:layout_marginTop=”34dp”
- android:text=”Kembali”
- style=”?android:attr/borderlessButtonStyle”
- android:drawableLeft=”@drawable/ic_arrow”/>
- </RelativeLayout>
- 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: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=”.UpdateBiodata”>
- <EditText
- android:id=”@+id/editText1″
- android:layout_width=”match_parent”
- android:layout_height=”wrap_content”
- android:layout_alignLeft=”@+id/textView1″
- android:layout_below=”@+id/textView1″
- android:inputType=”number”
- android:maxLength=”10″>
- <requestFocus />
- </EditText>
- <TextView
- android:id=”@+id/textView1″
- android:layout_width=”wrap_content”
- android:layout_height=”wrap_content”
- android:layout_alignParentLeft=”true”
- android:layout_alignParentTop=”true”
- android:text=”Nomor”/>
- <TextView
- android:id=”@+id/textView2″
- android:layout_width=”wrap_content”
- android:layout_height=”wrap_content”
- android:layout_alignLeft=”@+id/editText1″
- android:layout_below=”@+id/editText1″
- android:layout_marginTop=”10dp”
- android:text=”Nama”/>
- <EditText
- android:id=”@+id/editText2″
- android:layout_width=”match_parent”
- android:layout_height=”wrap_content”
- android:layout_alignLeft=”@+id/textView2″
- android:layout_below=”@+id/textView2″
- android:inputType=”text”
- android:maxLength=”20″/>
- <TextView
- android:id=”@+id/textView3″
- android:layout_width=”wrap_content”
- android:layout_height=”wrap_content”
- android:layout_alignLeft=”@+id/editText2″
- android:layout_below=”@+id/editText2″
- android:layout_marginTop=”10dp”
- android:text=”Tanggal Lahir”/>
- <EditText
- android:id=”@+id/editText3″
- android:layout_width=”match_parent”
- android:layout_height=”wrap_content”
- android:layout_alignLeft=”@+id/textView3″
- android:layout_below=”@+id/textView3″
- android:inputType=”date”/>
- <TextView
- android:id=”@+id/textView4″
- android:layout_width=”wrap_content”
- android:layout_height=”wrap_content”
- android:layout_alignLeft=”@+id/editText3″
- android:layout_below=”@+id/editText3″
- android:layout_marginTop=”10dp”
- android:text=”Jenis Kelamin”/>
- <EditText
- android:id=”@+id/editText4″
- android:layout_width=”match_parent”
- android:layout_height=”wrap_content”
- android:layout_alignLeft=”@+id/textView4″
- android:layout_below=”@+id/textView4″
- android:inputType=”text”
- android:maxLength=”1″
- android:hint=”L atau P”/>
- <TextView
- android:id=”@+id/textView5″
- android:layout_width=”wrap_content”
- android:layout_height=”wrap_content”
- android:layout_alignLeft=”@+id/editText4″
- android:layout_below=”@+id/editText4″
- android:layout_marginTop=”10dp”
- android:text=”Alamat”
- android:inputType=”text”
- android:maxLength=”100″/>
- <EditText
- android:id=”@+id/editText5″
- android:layout_width=”match_parent”
- android:layout_height=”wrap_content”
- android:layout_alignLeft=”@+id/textView5″
- android:layout_below=”@+id/textView5″ />
- <Button
- android:id=”@+id/button1″
- android:layout_width=”wrap_content”
- android:layout_height=”wrap_content”
- android:layout_alignLeft=”@+id/editText5″
- android:layout_alignParentBottom=”true”
- style=”?android:attr/borderlessButtonStyle”
- android:drawableLeft=”@drawable/ic_done”
- android:text=”Update” />
- <Button
- android:id=”@+id/button2″
- android:layout_width=”wrap_content”
- android:layout_height=”wrap_content”
- android:text=”Kembali”
- style=”?android:attr/borderlessButtonStyle”
- android:drawableLeft=”@drawable/ic_arrow”
- android:layout_alignParentBottom=”true”
- android:layout_alignRight=”@+id/editText5″
- android:layout_alignEnd=”@+id/editText5″
- />
- </RelativeLayout>
12.Tuliskan baris code javaclass di bawah dengan nama masing- masing :
- java
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class BuatBiodata extends AppCompatActivity {
protected Cursor cursor;
DataHelper dbHelper;
Button ton1, ton2;
EditText text1, text2, text3, text4, text5;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_buat_biodata);
dbHelper = new DataHelper(this);
text1 = (EditText) findViewById(R.id.editText1);
text2 = (EditText) findViewById(R.id.editText2);
text3 = (EditText) findViewById(R.id.editText3);
text4 = (EditText) findViewById(R.id.editText4);
text5 = (EditText) findViewById(R.id.editText5);
ton1 = (Button) findViewById(R.id.button1);
ton2 = (Button) findViewById(R.id.button2);
ton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.execSQL(“insert into biodata(no, nama, tgl, jk, alamat) values(‘” +
text1.getText().toString() + “‘,'” +
text2.getText().toString() + “‘,'” +
text3.getText().toString() + “‘,'” +
text4.getText().toString() + “‘,'” +
text5.getText().toString() + “‘)”);
Toast.makeText(getApplicationContext(), “Berhasil”, Toast.LENGTH_LONG).show();
MainActivity.ma.RefreshList();
finish();
}
});
ton2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
finish();
}
});
}
}
- java
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class LihatBiodata extends AppCompatActivity {
protected Cursor cursor;
DataHelper dbHelper;
Button ton2;
TextView text1, text2, text3, text4, text5;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lihat_biodata);
dbHelper = new DataHelper(this);
text1 = (TextView) findViewById(R.id.textView1);
text2 = (TextView) findViewById(R.id.textView2);
text3 = (TextView) findViewById(R.id.textView3);
text4 = (TextView) findViewById(R.id.textView4);
text5 = (TextView) findViewById(R.id.textView5);
SQLiteDatabase db = dbHelper.getReadableDatabase();
cursor = db.rawQuery(“SELECT * FROM biodata WHERE nama = ‘” +
getIntent().getStringExtra(“nama”) + “‘”,null);
cursor.moveToFirst();
if (cursor.getCount()>0)
{
cursor.moveToPosition(0);
text1.setText(cursor.getString(0).toString());
text2.setText(cursor.getString(1).toString());
text3.setText(cursor.getString(2).toString());
text4.setText(cursor.getString(3).toString());
text5.setText(cursor.getString(4).toString());
}
ton2 = (Button) findViewById(R.id.button1);
ton2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
finish();
}
});
}
}
- java
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class UpdateBiodata extends AppCompatActivity {
protected Cursor cursor;
DataHelper dbHelper;
Button ton1, ton2;
EditText text1, text2, text3, text4, text5;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_update_biodata);
dbHelper = new DataHelper(this);
text1 = (EditText) findViewById(R.id.editText1);
text2 = (EditText) findViewById(R.id.editText2);
text3 = (EditText) findViewById(R.id.editText3);
text4 = (EditText) findViewById(R.id.editText4);
text5 = (EditText) findViewById(R.id.editText5);
SQLiteDatabase db = dbHelper.getReadableDatabase();
cursor = db.rawQuery(“SELECT * FROM biodata WHERE nama = ‘” +
getIntent().getStringExtra(“nama”) + “‘”,null);
cursor.moveToFirst();
if (cursor.getCount()>0)
{
cursor.moveToPosition(0);
text1.setText(cursor.getString(0).toString());
text2.setText(cursor.getString(1).toString());
text3.setText(cursor.getString(2).toString());
text4.setText(cursor.getString(3).toString());
text5.setText(cursor.getString(4).toString());
}
ton1 = (Button) findViewById(R.id.button1);
ton2 = (Button) findViewById(R.id.button2);
// daftarkan even onClick pada btnSimpan
ton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.execSQL(“update biodata set nama='”+
text2.getText().toString() +”‘, tgl='” +
text3.getText().toString()+”‘, jk='”+
text4.getText().toString() +”‘, alamat='” +
text5.getText().toString() + “‘ where no='” +
text1.getText().toString()+”‘”);
Toast.makeText(getApplicationContext(), “Berhasil”, Toast.LENGTH_LONG).show();
MainActivity.ma.RefreshList();
finish();
}
});
ton2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
finish();
}
});
}
Lanjutan..
13.Tambahan : edit manifest/AndroidManifest.xml
edit res/values/color.xml
Terakhir edit res/values/styles.xml
14.Jalankan Aplikasinya.
.
ppt : (Google Drive)