CRUD Android Studio Sqlite Sederhana
Pada postingan kali saya akan membahas tentang Android programming, yaitu membuat CRUD sederhana dengan Android Studio Sqlite. Ok, Langsung saja :
Pertama buat project dengan nama CRUD
ok, selanjutnya pilih target android devices :
Terus pilih Empty Activity :
Kemudian pilih Finish :
Selanjut kita buat layout seperti gambar berikut :
untuk design layoutnya tinggal copy xml dibawah ini kedalam activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <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="app.ouzn.com.crud.MainActivity"> <RelativeLayout android:id="@+id/layout1" android:layout_width="match_parent" android:layout_height="300dp" android:layout_alignParentTop="true" android:layout_centerHorizontal="true"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="Input Data Mahasiswa" android:id="@+id/textView" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="NIM" android:id="@+id/textView2" android:layout_below="@+id/textView" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/txtNim" android:layout_below="@+id/textView2" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="Nama" android:id="@+id/textView3" android:layout_below="@+id/txtNim" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/txtNama" android:layout_below="@+id/textView3" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="Alamat" android:id="@+id/textView4" android:layout_below="@+id/txtNama" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/txtAlamat" android:layout_below="@+id/textView4" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> <Button android:layout_width="80dp" android:layout_height="wrap_content" android:text="Simpan" android:id="@+id/btnSimpan" android:layout_below="@+id/txtAlamat" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> <Button android:layout_width="80dp" android:layout_height="wrap_content" android:text="Edit" android:id="@+id/btnEdit" android:layout_alignTop="@+id/btnSimpan" android:layout_toRightOf="@+id/btnSimpan" android:layout_toEndOf="@+id/btnSimpan" /> <Button android:layout_width="80dp" android:layout_height="wrap_content" android:text="Hapus" android:id="@+id/btnHapus" android:layout_alignTop="@+id/btnEdit" android:layout_toRightOf="@+id/btnEdit" android:layout_toEndOf="@+id/btnEdit" /> </RelativeLayout> <RelativeLayout android:layout_width="match_parent" android:layout_height="150dp" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:id="@+id/relativeLayout2"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Text" android:id="@+id/txtDataMhs" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> </RelativeLayout> </RelativeLayout> |
Setelah itu tuliskan source code berikut di MainActivity.java
package app.ouzn.com.crud; 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.TextView; public class MainActivity extends AppCompatActivity { //Deklarasi variable SQLiteDatabase myDB = null; String TableName = "Mahasiswa"; String Data = ""; TextView dtMhs; Button bSimpan, bEdit, bHapus; EditText tNim, tNama, tAlamat; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dtMhs = (TextView)findViewById(R.id.txtDataMhs); bSimpan = (Button)findViewById(R.id.btnSimpan); bEdit = (Button)findViewById(R.id.btnEdit); bHapus = (Button)findViewById(R.id.btnHapus); tNim = (EditText)findViewById(R.id.txtNim); tNama = (EditText)findViewById(R.id.txtNama); tAlamat = (EditText)findViewById(R.id.txtAlamat); createDB(); tampilData(); bSimpan.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { simpan(); } }); bEdit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { edit(); } }); bHapus.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { hapus(); } }); } //Method Clear TextField public void clearField(){ tNim.setText(""); tNama.setText(""); tAlamat.setText(""); } //Buat Method Create Database public void createDB(){ try{ myDB = this.openOrCreateDatabase("DBMHS",MODE_PRIVATE,null); myDB.execSQL("CREATE TABLE IF NOT EXISTS " + TableName + "(NIM VARCHAR PRIMARY KEY, NAMA VARCHAR, ALAMAT VARCHAR);"); //myDB.execSQL("Insert Into " + TableName + " Values('126','HusnulM','Lombok');"); }catch (Exception e){ //Log.e("Error", "Error", e); } } //Buat Method Tampilkan Data public void tampilData(){ try{ Data = ""; clearField(); Cursor c = myDB.rawQuery("Select * From " + TableName, null); int col1 = c.getColumnIndex("NIM"); int col2 = c.getColumnIndex("NAMA"); int col3 = c.getColumnIndex("ALAMAT"); c.moveToFirst(); if (c!= null){ do{ String nimMhs = c.getString(col1); String nmMhs = c.getString(col2); String almtMhs = c.getString(col3); Data = Data + nimMhs + " | " + nmMhs+ " | " + almtMhs + "\n"; } while (c.moveToNext()); } dtMhs.setText(Data); }catch (Exception e){ dtMhs.setText(Data); } } //Method Simpan Data public void simpan(){ myDB.execSQL("Insert Into " + TableName + " Values('" + tNim.getText() + "','" + tNama.getText() + "','" + tAlamat.getText() + "');"); tampilData(); } //Method Edit public void edit(){ myDB.execSQL("Update " + TableName + " Set NAMA = '"+ tNama.getText() +"', ALAMAT = '"+ tAlamat.getText() +"' Where NIM = '"+ tNim.getText() +"';"); tampilData(); } //Method Hapus public void hapus(){ myDB.execSQL("Delete From " + TableName + " Where NIM = '" + tNim.getText() + "';"); tampilData(); } }
Jika sudah jalankan aplikasi, :D
yang mau project lengkapnya bisa Download Disini
Semoga bermanfaat. Amin
:D
Happy Coding ;)
Maaf mas mau tanya.. ini hanya input aja ya, kalau data yg sudah disave bisa edit gk dan bisa dihapus gk? mohon lanjutkan tutor ke perintah edit dan hapus di databaase.. trims mas..
ReplyDeleteitu sudah ada hapus sama editnya :D
DeleteHalo kak, terimakasih artikelnya... ini sangat membantu saya dalam menyelesaikan tugas kuliah saya. oh ya kak, perkenalkan nama saya Nurhamimah dan jangan lupa kunjungi website kampus saya ISB Atma Luhur
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteHalo kak, terimakasih artikelnya... ini sangat membantu saya dalam menyelesaikan tugas kuliah saya. oh ya kak, perkenalkan nama saya Nurhamimah dan jangan lupa kunjungi website kampus saya ISB Atma Luhur
ReplyDeleteapakah ini sudah termasuk untuk menampilkan datanya?
ReplyDeleteCamane buat crud nye bg
ReplyDelete