Aplikasi CRUD Sederhana Menggunakan Android Studio dengan Database SQLite

Sebelumnya mungkin ada yang sudah buat CRUD java dengan Database mysql , nah saya akan membuat aplikasi CRUD ( Create ,Read ,Update, dan Delete ) juga tetapi dengan Android Studio yang berbasis mobile dengan database SQLite , di sini saya menggunakan Android Studio 2.1.2 , oke mulai saja .
- Buka Android Studio
- Buat Projek Baru
- Berinama Projek yang akan kita buat
- kita harus menentukan Target Android Device nya , saya pilih API 15.
- Pilih Empty Activity
- Selanjutnya pada bagian Customize The Activity biarkan saja default
- Setelah ke 6 langkah tadi selesai kita buat DataHelper.java , DataHelper.java ini 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 activity_main.xml activity_main.xml
- kita tuliskan source di bawah pada MainActivity.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 Activity baru
Berinama Layout Name sebagai berikut : 1.activity_buat_biodata.xml 2.activity_lihat_biodata.xml 3.activity_update_biodata.xml
.png?1470844754195)
Dan Activity Name :
1.BuatBiodata.java 2.LihatBiodata.java 3.UpdateBiodata.java
- 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
3.activity_update_biodata.xml
- Tambahan :
edit manifest/AndroidManifest.xml
edit res/values/color.xml
Terakhir edit res/values/styles.xml
<li>Tuliskan baris kode java class di bawah dengan nama masing-masing :
1.BuatBiodata.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();
}
});
}
}
2.LihatBiodata.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();
}
});
}
}
3.UpdateBiodata.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..
<li>Jalankan aplikasinya ..<img src="https://www.codepolitan.com/uploads/image/source/14500/gambar.png?1471648390814" alt="gambar" /></li>
Update
Untuk pembaca yang mengalami error : ``` Error:(13, 32) No resource found that matches the given name (at 'paddingBottom' with value '@dimen/activity_vertical_margin').` ```Tambahkan kode berikut di /res/values/dimens.xml::
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
Penutup
Kurang lebihnya mohon maaf bila ada yang kurang jelas tanyakan pada kolom komentar . terima kasih semoga bermanfaat ! Aplikasi jadi, bisa di download di sini .What do you think?
Reactions
