CRUD database sqlite android

Kali ini saya akan membuat aplikasi mobile android CRUD ( Create Update Delete ) sederhana yaitu input biodata yang menggunakan java eclipe dan database SQLLite.

MainActivity.java


package com.example.aplikasicrud;
 
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;
 
public class MainActivity extends Activity {
    String[] daftar;
    ListView ListView01;
    Menu menu;
    protected Cursor cursor;
    DataCenter dbcenter;
    public static MainActivity ma;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
         
        Button ton=(Button)findViewById(R.id.button2);
        Button back=(Button)findViewById(R.id.button1);
        ton.setOnClickListener(new View.OnClickListener() {
             
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Intent inte = new Intent(MainActivity.this, BaruActivity.class);
                startActivity(inte);
            }
        });
        back.setOnClickListener(new View.OnClickListener() {
             
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                finish();
            }
        });
         
        ma = this;
        dbcenter = new DataCenter(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 = {"View", "Edit", "Delete"};
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("Pilih Menu");
                builder.setItems(dialogitem, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int item) {
                        switch(item){
                        case 0 :
                            Intent i = new Intent(getApplicationContext(), LihatActivity.class);
                            i.putExtra("nama", selection);
                            startActivity(i);
                            break;
                        case 1 :
                            Intent in = new Intent(getApplicationContext(), UbahActivity.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();
        }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
}
 
BaruActivity.java
 
package com.example.aplikasicrud;
 
import android.os.Bundle;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
 
public class BaruActivity extends Activity {
    protected Cursor cursor;
    DataCenter dbHelper;
    Button ton1, ton2;
    EditText text1, text2, text3, text4, text5;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_baru);
         
        dbHelper = new DataCenter(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);
        // 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("insert into biodata(kode, 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();
            }
        });
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.baru, menu);
        return true;
    }
 
}
 
LihatActivity.java
 
package com.example.aplikasicrud;
 
import android.os.Bundle;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
 
public class LihatActivity extends Activity {
    protected Cursor cursor;
    DataCenter dbHelper;
    Button ton2;
    TextView text1, text2, text3, text4, text5;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_lihat);
         
        dbHelper = new DataCenter(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();
            }
        });
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.lihat, menu);
        return true;
    }
 
}
 
UbahActivity.java
 
package com.example.aplikasicrud;
 
import android.os.Bundle;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
 
public class UbahActivity extends Activity {
    protected Cursor cursor;
    DataCenter dbHelper;
    Button ton1, ton2;
    EditText text1, text2, text3, text4, text5;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ubah);
         
        dbHelper = new DataCenter(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 kode='" +
                        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();
            }
        });
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.ubah, menu);
        return true;
    }
 
}
 
DataCenter.java
 
package com.example.aplikasicrud;
 
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
 
public class DataCenter extends SQLiteOpenHelper {
     
    private static final String DATABASE_NAME = "crud.db";
    private static final int DATABASE_VERSION = 1;
    public DataCenter(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(kode 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 (kode, nama, tgl, jk, alamat) VALUES ('1255', 'Ghazali', '1992-10-11', 'Laki-laki','Grong-grong');";
        db.execSQL(sql);
        sql = "INSERT INTO biodata (kode, nama, tgl, jk, alamat) VALUES ('1156', 'Andre', '1994-06-14', 'Laki-laki','Kembang Tanjong');";
        db.execSQL(sql);
        sql = "INSERT INTO biodata (kode, nama, tgl, jk, alamat) VALUES ('1357', 'Diska', '1992-07-04', 'Perempuan','Sigli');";
        db.execSQL(sql);
        sql = "INSERT INTO biodata (kode, nama, tgl, jk, alamat) VALUES ('1456', 'Intan', '1992-06-14', 'Perempuan','Caleue');";
        db.execSQL(sql);
    }
 
    @Override
    public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
        // TODO Auto-generated method stub
         
    }
 
}
 
Ok. dan lihat hasinya.
Terimakasih

Komentar