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 baruBerinama Layout Name sebagai berikut : 1.activity_buat_biodata.xml 2.activity_lihat_biodata.xml 3.activity_update_biodata.xmlDan 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.xml2.activity_lihat_biodata.xml3.activity_update_biodata.xml
- 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.javaimport 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.javaimport 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..
- Tambahan : edit manifest/AndroidManifest.xml
edit res/values/color.xmlTerakhir edit res/values/styles.xml
0 komentar:
Posting Komentar