Untuk memudahkan melihat hasil dari pekerjaan selanjutnya, saya sarankan menginstall sqlite
manager pada eclipse :
1. Copy SQLite Manager pada folder dopins (lokasi eclipse / dropin /
sqlitemanager_1.0.0.jar)
2. Pada Eclipse, buka Windows -> Show View -> Other -> File Explorer
Jika emalator belum dijalankan, pada File Explorer akan kosong, pastikan emulator sudah dijalankan jika
ingin melihat tampilan seperti di atas.
3. Setelah itu kita akan membuat project CRUD_SQILITE
4.Buka Eclipse, lalu klik file->New->Other->Android->Android Application Project
5. Isikan pada masing-masing Field (untuk bagian field lain boleh dibuat sesuai keinginan
masing-masing) :
Application Name :CRUD_SQLITE
Package Name : jhointegrity.com
Activity : MainActivity
6. Pada Package Explorer, Buka file main.xml di folder res/layout, perhatikan gambar berikut
7. Ganti Kode pada main.xml menjadi sepertik berikut
Main.xm
Main.xm
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:orientation="vertical"
tools:context=".MainActivity" >
<Button
android:id="@+id/buttonTambahBiodata"
android:layout_width="186dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Tambah Biodata" />
<HorizontalScrollView
android:id="@+id/horizontalScrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ScrollView
android:id="@+id/verticalScrollView"
android:layout_width="wrap_content"
android:layout_height="match_parent" >
<TableLayout
android:id="@+id/tableBiodata"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</TableLayout>
</ScrollView>
</HorizontalScrollView>
</LinearLayout>
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:orientation="vertical"
tools:context=".MainActivity" >
<Button
android:id="@+id/buttonTambahBiodata"
android:layout_width="186dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Tambah Biodata" />
<HorizontalScrollView
android:id="@+id/horizontalScrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ScrollView
android:id="@+id/verticalScrollView"
android:layout_width="wrap_content"
android:layout_height="match_parent" >
<TableLayout
android:id="@+id/tableBiodata"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</TableLayout>
</ScrollView>
</HorizontalScrollView>
</LinearLayout>
8. Pada package src/MainActivity, buka MainActivity.java pastikan kodenya seperti berikut
package jhointegrity.com;
import java.util.ArrayList;
import java.util.HashMap;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.view.ViewPager.LayoutParams;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
SQLiteHelper sqLiteHelper = new SQLiteHelper(this);
TableLayout tabelBiodata;
Button buttonTambahBiodata;
ArrayList<Button> buttonEdit = new ArrayList<Button>();
ArrayList<Button> buttonDelete = new ArrayList<Button>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tabelBiodata = (TableLayout) findViewById(R.id.tableBiodata);
buttonTambahBiodata = (Button) findViewById(R.id.buttonTambahBiodata);
buttonTambahBiodata.setOnClickListener(this);
TableRow barisTabel = new TableRow(this);
barisTabel.setBackgroundColor(Color.RED);
TextView viewHeaderId = new TextView(this);
TextView viewHeaderNama = new TextView(this);
TextView viewHeaderAlamat = new TextView(this);
TextView viewHeaderAction = new TextView(this);
viewHeaderId.setText("ID");
viewHeaderNama.setText("Nama");
viewHeaderAlamat.setText("Alamat");
viewHeaderAction.setText("Action");
viewHeaderId.setPadding(5, 1, 5, 1);
viewHeaderNama.setPadding(5, 1, 5, 1);
viewHeaderAlamat.setPadding(5, 1, 5, 1);
viewHeaderAction.setPadding(5, 1, 5, 1);
barisTabel.addView(viewHeaderId);
barisTabel.addView(viewHeaderNama);
barisTabel.addView(viewHeaderAlamat);
barisTabel.addView(viewHeaderAction);
tabelBiodata.addView(barisTabel, new TableLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
ArrayList<HashMap<String, String>> arrayListBiodata = sqLiteHelper
.tampil_semua_biodata();
if (arrayListBiodata.size() > 0) {
for (int i = 0; i < arrayListBiodata.size(); i++) {
// ambil masing-masing hasmap dari arrayListBiodata
HashMap<String, String> hashMapRecordBiodata = arrayListBiodata.get(i);
// JSONObject jsonChildNode = arrayBiodata.getJSONObject(i);
String name = hashMapRecordBiodata.get("nama");
String alamat = hashMapRecordBiodata.get("alamat");
String id = hashMapRecordBiodata.get("id_biodata");
System.out.println("Nama :" + name);
System.out.println("Alamat :" + alamat);
System.out.println("ID :" + id);
barisTabel = new TableRow(this);
if (i % 2 == 0) {
barisTabel.setBackgroundColor(Color.LTGRAY);
}
TextView viewId = new TextView(this);
viewId.setText(id);
viewId.setPadding(5, 1, 5, 1);
barisTabel.addView(viewId);
TextView viewNama = new TextView(this);
viewNama.setText(name);
viewNama.setPadding(5, 1, 5, 1);
barisTabel.addView(viewNama);
TextView viewAlamat = new TextView(this);
viewAlamat.setText(alamat);
viewAlamat.setPadding(5, 1, 5, 1);
barisTabel.addView(viewAlamat);
buttonEdit.add(i, new Button(this));
buttonEdit.get(i).setId(Integer.parseInt(id));
buttonEdit.get(i).setTag("Edit");
buttonEdit.get(i).setText("Edit");
buttonEdit.get(i).setOnClickListener(this);
barisTabel.addView(buttonEdit.get(i));
buttonDelete.add(i, new Button(this));
buttonDelete.get(i).setId(Integer.parseInt(id));
buttonDelete.get(i).setTag("Delete");
buttonDelete.get(i).setText("Delete");
buttonDelete.get(i).setOnClickListener(this);
barisTabel.addView(buttonDelete.get(i));
tabelBiodata.addView(barisTabel, new TableLayout.LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT));
}
}
}
@Override
public void onClick(View view) {
if (view.getId() == R.id.buttonTambahBiodata) {
// Toast.makeText(MainActivity.this, "Button Tambah Data",
// Toast.LENGTH_SHORT).show();
tambahBiodata();
} else {
/*
* Melakukan pengecekan pada data array, agar sesuai dengan index
* masing-masing button
*/
for (int i = 0; i < buttonEdit.size(); i++) {
/* jika yang diklik adalah button edit */
if (view.getId() == buttonEdit.get(i).getId()
&& view.getTag().toString().trim().equals("Edit")) {
//Toast.makeText(MainActivity.this, "Edit : " + // buttonEdit.get(i).getId(), Toast.LENGTH_SHORT).show();
int id = buttonEdit.get(i).getId();
getDataByID(id);
} /* jika yang diklik adalah button delete */
else if (view.getId() == buttonDelete.get(i).getId()
&&
view.getTag().toString().trim().equals("Delete")) {
// Toast.makeText(MainActivity.this, "Delete : " + // buttonDelete.get(i).getId(), Toast.LENGTH_SHORT).show();
int id = buttonDelete.get(i).getId();
deleteBiodata(id);
}
}
}
}
public void deleteBiodata(int id) {
sqLiteHelper.hapus_biodata(id);
/* restart acrtivity */
finish();
startActivity(getIntent());
}
public void getDataByID(int id) {
String namaEdit = null, alamatEdit = null;
HashMap<String, String> hashMapBiodata = sqLiteHelper
.tampil_biodata_berdasarkan_id(id);
for (int i = 0; i < hashMapBiodata.size(); i++) {
namaEdit = hashMapBiodata.get("nama");
alamatEdit = hashMapBiodata.get("alamat");
}
LinearLayout layoutInput = new LinearLayout(this);
layoutInput.setOrientation(LinearLayout.VERTICAL);
// buat id tersembunyi di alertbuilder
final TextView viewId = new TextView(this);
viewId.setText(String.valueOf(id));
viewId.setTextColor(Color.TRANSPARENT);
layoutInput.addView(viewId);
final EditText editNama = new EditText(this);
editNama.setText(namaEdit);
layoutInput.addView(editNama);
final EditText editAlamat = new EditText(this);
editAlamat.setText(alamatEdit);
layoutInput.addView(editAlamat);
AlertDialog.Builder builderEditBiodata = new AlertDialog.Builder(this);
builderEditBiodata.setTitle("Update Biodata");
builderEditBiodata.setView(layoutInput);
builderEditBiodata.setPositiveButton("Update",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String nama = editNama.getText().toString();
String alamat = editAlamat.getText().toString();
System.out.println("Nama : " + nama + " Alamat : " + alamat);
sqLiteHelper.update_biodata(Integer.parseInt(viewId
.getText().toString()),
editNama.getText()
.toString(),
editAlamat.getText().toString());
/* restart acrtivity */
finish();
startActivity(getIntent());
}
});
builderEditBiodata.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builderEditBiodata.show();
}
public void tambahBiodata() {
/* layout akan ditampilkan pada AlertDialog */
LinearLayout layoutInput = new LinearLayout(this);
layoutInput.setOrientation(LinearLayout.VERTICAL);
final EditText editNama = new EditText(this);
editNama.setHint("Nama");
layoutInput.addView(editNama);
final EditText editAlamat = new EditText(this);
editAlamat.setHint("Alamat");
layoutInput.addView(editAlamat);
AlertDialog.Builder builderInsertBiodata = new AlertDialog.Builder(this);
builderInsertBiodata.setTitle("Insert Biodata");
builderInsertBiodata.setView(layoutInput);
builderInsertBiodata.setPositiveButton("Insert",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String nama = editNama.getText().toString();
String alamat = editAlamat.getText().toString();
System.out.println("Nama : " + nama + " Alamat: " + alamat);
sqLiteHelper.tambah_biodata(nama, alamat);
/* restart acrtivity */
finish();
startActivity(getIntent());
}
});
builderInsertBiodata.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builderInsertBiodata.show();
}
}
10. Buatlah class baru, klik kanan pada src -> New -> class beri nama SQLiteHelper.java
11. Pada package src/SQLiteHelper, buka array3.java pastikan kodenya seperti berikut
12. SQLiteHelper
package jhointegrity.com;
import java.util.ArrayList;
import java.util.HashMap;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class SQLiteHelper extends SQLiteOpenHelper {
private static final String nama_database = "database_pemain.db";
private static final int versi_database = 1;
private static final String query_buat_tabel_biodata_pemain = "CREATE TABLE IF NOT EXISTS tabel_biodata(id_biodata INTEGER PRIMARY KEY AUTOINCREMENT, nama TEXT,alamat TEXT)";
private static final String query_hapus_tabel_biodata_pemain = "DROP TABLE IF EXISTS query_buat_tabel_biodata_pemain";
public SQLiteHelper(Context context) {
super(context, nama_database, null, versi_database);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL(query_buat_tabel_biodata_pemain);
System.out.println("tabel_biodata sudah dibuat");
}
@Override
public void onUpgrade(SQLiteDatabase database, int versi_lama,
int versi_baru) {
database.execSQL(query_hapus_tabel_biodata_pemain);
onCreate(database);
}
public void tambah_biodata(String nama, String alamat) {
SQLiteDatabase database = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("nama", nama);
values.put("alamat", alamat);
database.insert("tabel_biodata", null, values);
database.close();
}
public ArrayList<HashMap<String, String>> tampil_semua_biodata() {
// deklarasikan sebuah arraylist yang bisa menampung hashmap
ArrayList<HashMap<String, String>> arrayListBiodata = new ArrayList<HashMap<String,
String>>();
SQLiteDatabase database = this.getWritableDatabase();
Cursor cursor = database.rawQuery("SELECT * FROM tabel_biodata", null);
// kursor langsung diarkan ke posisi paling awal data pada tabel_biodata
if (cursor.moveToFirst()) {
do {
// deklarasikan sebuah hashmap, yang bisa menamp
HashMap<String, String> hashMapBiodata = new HashMap<String, String>();
// masukkan masing-masing field dari tabel_biodata ke dalam hashMapBiodata
//pastikan id_biodata, nama dan alamat sama persis dengan field yang ada pada tabel_biodata
hashMapBiodata.put("id_biodata", cursor.getString(0));
hashMapBiodata.put("nama", cursor.getString(1));
hashMapBiodata.put("alamat", cursor.getString(2));
// masukkan hashMapBiodata ke dalam arrayListBiodata
arrayListBiodata.add(hashMapBiodata);
} while (cursor.moveToNext());
}
return arrayListBiodata;
}
public int update_biodata(int id, String nama, String alamat) {
SQLiteDatabase database = this.getWritableDatabase();
ContentValues recordBiodata = new ContentValues();
recordBiodata.put("nama", nama);
recordBiodata.put("alamat", alamat);
return database.update("tabel_biodata", recordBiodata, "id_biodata=" + id, null);
}
public void hapus_biodata(int id) {
SQLiteDatabase database = this.getWritableDatabase();
database.execSQL("DELETE FROM tabel_biodata WHERE id_biodata='" + id+ "'");
database.close();
}
public HashMap<String, String> tampil_biodata_berdasarkan_id(int id) {
SQLiteDatabase database = this.getReadableDatabase();
HashMap<String, String> hashMapBiodata = new HashMap<String, String>();
Cursor cursor = database.rawQuery("SELECT * FROM tabel_biodata WHERE id_biodata="
+ id + "", null);
if (cursor.moveToFirst()) {
do {
hashMapBiodata.put("id_biodata", cursor.getString(0));
hashMapBiodata.put("nama", cursor.getString(1));
hashMapBiodata.put("alamat", cursor.getString(2));
} while (cursor.moveToNext());
}
return hashMapBiodata;
}
}
import java.util.ArrayList;
import java.util.HashMap;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class SQLiteHelper extends SQLiteOpenHelper {
private static final String nama_database = "database_pemain.db";
private static final int versi_database = 1;
private static final String query_buat_tabel_biodata_pemain = "CREATE TABLE IF NOT EXISTS tabel_biodata(id_biodata INTEGER PRIMARY KEY AUTOINCREMENT, nama TEXT,alamat TEXT)";
private static final String query_hapus_tabel_biodata_pemain = "DROP TABLE IF EXISTS query_buat_tabel_biodata_pemain";
public SQLiteHelper(Context context) {
super(context, nama_database, null, versi_database);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL(query_buat_tabel_biodata_pemain);
System.out.println("tabel_biodata sudah dibuat");
}
@Override
public void onUpgrade(SQLiteDatabase database, int versi_lama,
int versi_baru) {
database.execSQL(query_hapus_tabel_biodata_pemain);
onCreate(database);
}
public void tambah_biodata(String nama, String alamat) {
SQLiteDatabase database = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("nama", nama);
values.put("alamat", alamat);
database.insert("tabel_biodata", null, values);
database.close();
}
public ArrayList<HashMap<String, String>> tampil_semua_biodata() {
// deklarasikan sebuah arraylist yang bisa menampung hashmap
ArrayList<HashMap<String, String>> arrayListBiodata = new ArrayList<HashMap<String,
String>>();
SQLiteDatabase database = this.getWritableDatabase();
Cursor cursor = database.rawQuery("SELECT * FROM tabel_biodata", null);
// kursor langsung diarkan ke posisi paling awal data pada tabel_biodata
if (cursor.moveToFirst()) {
do {
// deklarasikan sebuah hashmap, yang bisa menamp
HashMap<String, String> hashMapBiodata = new HashMap<String, String>();
// masukkan masing-masing field dari tabel_biodata ke dalam hashMapBiodata
//pastikan id_biodata, nama dan alamat sama persis dengan field yang ada pada tabel_biodata
hashMapBiodata.put("id_biodata", cursor.getString(0));
hashMapBiodata.put("nama", cursor.getString(1));
hashMapBiodata.put("alamat", cursor.getString(2));
// masukkan hashMapBiodata ke dalam arrayListBiodata
arrayListBiodata.add(hashMapBiodata);
} while (cursor.moveToNext());
}
return arrayListBiodata;
}
public int update_biodata(int id, String nama, String alamat) {
SQLiteDatabase database = this.getWritableDatabase();
ContentValues recordBiodata = new ContentValues();
recordBiodata.put("nama", nama);
recordBiodata.put("alamat", alamat);
return database.update("tabel_biodata", recordBiodata, "id_biodata=" + id, null);
}
public void hapus_biodata(int id) {
SQLiteDatabase database = this.getWritableDatabase();
database.execSQL("DELETE FROM tabel_biodata WHERE id_biodata='" + id+ "'");
database.close();
}
public HashMap<String, String> tampil_biodata_berdasarkan_id(int id) {
SQLiteDatabase database = this.getReadableDatabase();
HashMap<String, String> hashMapBiodata = new HashMap<String, String>();
Cursor cursor = database.rawQuery("SELECT * FROM tabel_biodata WHERE id_biodata="
+ id + "", null);
if (cursor.moveToFirst()) {
do {
hashMapBiodata.put("id_biodata", cursor.getString(0));
hashMapBiodata.put("nama", cursor.getString(1));
hashMapBiodata.put("alamat", cursor.getString(2));
} while (cursor.moveToNext());
}
return hashMapBiodata;
}
}
13. Jalankan Run dengan shourcut CTRL+F11 atau klik Kanan package > Runa As > Android Projeck. Lihat Hasilnya Seperti Dibawah Ini.
Kemudian isikan Nama Dan alamat Anda sesuai keinginan anda,contohnya Seperti dibawah ini.
kemudian di klik Insert, Maka Hasil Akhirnya Seperti Di Bawah
thank you
Smoga bermanfaat




Tidak ada komentar:
Posting Komentar