Label:


CRUD SQLite


 photo 950983e5-425e-4215-a0eb-766a8bbd6260_zpsca1d234e.png 

 photo 6c88052a-744e-45c4-a3bc-c613bf52981b_zps6cdb244b.png

Source Code :

Isibiodata.XML

<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout  xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/relativeLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
       
    <LinearLayout
        android:id="@+id/linearlayout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true" >

        <TextView
            android:id="@+id/textview1"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:text="@string/tvnim" />

        <EditText
            android:id="@+id/txtnim"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:inputType="text" >

        </EditText>
    </LinearLayout>
   
    <LinearLayout
        android:id="@+id/linearlayout2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/linearlayout1"
        android:layout_alignParentLeft="true" >

        <TextView
            android:id="@+id/textview2"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:text="@string/tvnama" />

        <EditText
            android:id="@+id/txtnama"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:inputType="textPersonName" >

        </EditText>
    </LinearLayout>
    <LinearLayout
        android:id="@+id/linearlayout3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/linearlayout2"
        android:layout_alignParentLeft="true" >

        <TextView
            android:id="@+id/textview3"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:text="@string/tvalamat" />

        <EditText
            android:id="@+id/txtalamat"
            android:layout_width="206dp"
            android:layout_height="wrap_content"
            android:inputType="textPostalAddress" >

        </EditText>
    </LinearLayout>

    <TextView
        android:id="@+id/txtKelamin"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/linearlayout3"
        android:layout_marginTop="19dp"
        android:text="Jenis Kelamin :" />

    <EditText
        android:id="@+id/editKelamin"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/linearlayout3"
        android:layout_toRightOf="@+id/txtKelamin"
        android:ems="10" />

    <TextView
        android:id="@+id/txtHp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/editKelamin"
        android:layout_marginTop="24dp"
        android:text="No HP :" />

    <EditText
        android:id="@+id/editHP"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/txtHp"
        android:layout_alignBottom="@+id/txtHp"
        android:layout_alignLeft="@+id/editKelamin"
        android:ems="10" />

    <Button
        android:id="@+id/btnsimpan"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/editHP"
        android:layout_marginTop="26dp"
        android:text="Simpan" />

</RelativeLayout>

 Daftarbiodata.XML

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/scrollView1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 
 
    <LinearLayout  
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:orientation="vertical"> 
        <LinearLayout 
            android:id="@+id/header" 
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content" 
            android:orientation="vertical" > 
             
           <TableLayout
                android:id="@+id/tableLayout1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >

                <TableRow
                    android:id="@+id/tableRow1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >
                   
                    <Button
                        android:id="@+id/btnrefresh"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/btnRef" />

                     <Button
                         android:id="@+id/btnedit"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:text="@string/btnEdit" />

                     <Button
                         android:id="@+id/btnhapus"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:text="@string/btnHapus" />

                     <Button
                         android:id="@+id/btnhapusemua"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:text="@string/btnHapusAll" />

                 </TableRow>
            </TableLayout>
 
        </LinearLayout> 
     
        <LinearLayout 
            android:id="@+id/detail" 
            android:layout_width="match_parent" 
            android:layout_height="wrap_content" 
            android:orientation="horizontal" > 
     
            <TableLayout 
                android:id="@+id/tableLayout" 
                android:layout_width="match_parent" 
                android:layout_height="wrap_content" 
                android:layout_gravity="center" 
                android:layout_weight="1" >
                 
            </TableLayout>
 
        </LinearLayout> 
    </LinearLayout> 
</ScrollView>

MenuActivity.java

package eko.crudsqlite;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MenuActivity extends ListActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        String menu[] = new String[]{"Isi Biodata", "Daftar Biodata", "Exit"};
       
        this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,menu));
    }
    @Override
    protected void onListItemClick(ListView l, View v, int position, long id){
        super.onListItemClick(l, v, position, id);
        Object obj = this.getListAdapter().getItem(position);
        String pilihan = obj.toString();
        Intent myIntent = null;
        if(pilihan.equalsIgnoreCase("exit"))
            finish();
        else {
            if(pilihan.equalsIgnoreCase("isi biodata")){
                myIntent = new Intent(this, IsiBiodata.class);
                myIntent.putExtra("status", "baru");
            }
            else if(pilihan.equalsIgnoreCase("daftar biodata"))
                myIntent = new Intent(this, DaftarBiodata.class);
           
            startActivity(myIntent);
        }
    }
}

IsiBiodata.java

package eko.crudsqlite;

import eko.crudsqlite.R;

import android.app.Activity;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class IsiBiodata extends Activity{
   
    private OperasiDatabase oprDatabase = null; // membuat tipe data baru dari class OperasiDatabase dari file OperasiDatabase.java
    private SQLiteDatabase db = null; // membuat tipe data baru dari class OperasiDatabase dari file OperasiDatabase.java
    private EditText txtnim;
    private EditText txtnama;
    private EditText txtalamat;
    private EditText editHP;
    private EditText editKelamin;
    private Button btnsimpan;
    private Boolean data_baru;
   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        String nim ="";
        String nama ="";
        String alamat ="";
        String no_hp ="";
        String jenis_kelamin ="";
       
        super.onCreate(savedInstanceState);
        setContentView(R.layout.isibiodata);
       
        oprDatabase = new OperasiDatabase(this); 
        db = oprDatabase.getWritableDatabase(); 
        oprDatabase.createTable(db);
       
        Intent sender = getIntent();
        String status = sender.getExtras().getString("status");
        if(status.equalsIgnoreCase("baru")){
            data_baru = true;
        } else
        {
            data_baru = false;
            nim = sender.getExtras().getString("nim");
            nama = sender.getExtras().getString("nama");
            alamat = sender.getExtras().getString("alamat");
            no_hp = sender.getExtras().getString("no_hp");
            jenis_kelamin = sender.getExtras().getString("jenis_kelamin");
        }
       
        txtnim = (EditText) findViewById(R.id.txtnim);
        txtnim.setText(nim);
        txtnama = (EditText) findViewById(R.id.txtnama);
        txtnama.setText(nama);
        txtalamat = (EditText) findViewById(R.id.txtalamat);
        txtalamat.setText(alamat);
        editKelamin = (EditText) findViewById(R.id.editKelamin);
        editKelamin.setText(jenis_kelamin);
        editHP = (EditText) findViewById(R.id.editHP);
        editHP.setText(no_hp);
        btnsimpan =(Button) findViewById(R.id.btnsimpan);
        if(data_baru==true)
            btnsimpan.setText("Simpan");
        else
            btnsimpan.setText("Edit");
        btnsimpan.setOnClickListener(new View.OnClickListener() { 
            @Override 
            public void onClick(View v) { 
                  simpandata();
            } 
        }); 
    }
    private void simpandata(){
        String[] data = new String[]{
                txtnim.getText().toString(),
                txtnama.getText().toString(),
                txtalamat.getText().toString(),
                editHP.getText().toString(),
                editKelamin.getText().toString()
        };
        if(data_baru==true) {
            oprDatabase.insertBiodata(db, data);
            txtnim.setText("");
            txtnama.setText("");
            txtalamat.setText("");
            editKelamin.setText("");
            editHP.setText("");
        }
        else if(data_baru==false){
            oprDatabase.updateBiodata(db, data);
            finish();
        }
       
    }
    public void onDestroy() { 
        super.onDestroy(); 
        db.close(); 
    } 
}

DaftarBiodata.java



package eko.crudsqlite;

import eko.crudsqlite.R;

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.graphics.Color;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;

public class DaftarBiodata extends Activity{
    private OperasiDatabase oprDatabase = null;
    private SQLiteDatabase db = null;
    private Cursor dbCursor = null;
    private Button btnhapusemua;
    private Button btnhapus;
    private Button btnedit;
    private Button btnrefresh;
    private String nim, nama, alamat,no_hp,jenis_kelamin;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.daftarbiodata);
      
        oprDatabase = new OperasiDatabase(this);
        db = oprDatabase.getWritableDatabase();
        oprDatabase.createTable(db);
        TampilkanData();
        final AlertDialog.Builder dialog = new AlertDialog.Builder(this);
      
        btnhapusemua = (Button) findViewById(R.id.btnhapusemua);
        btnhapusemua.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dialog.setTitle("Konfirmasi");
                dialog.setMessage("Anda yakin akan menghapus seluruh data?");
                dialog.setNegativeButton("Cancel", null);
                dialog.setPositiveButton("Ok", new AlertDialog.OnClickListener() {
                    public void onClick(DialogInterface dialog, int arg1) {
                        oprDatabase.deleteAllBiodata(db);
                        TampilkanData();
                    }
                });
                dialog.show();
            }
        });
      
        btnedit = (Button) findViewById(R.id.btnedit);
        btnedit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(!nim.isEmpty()){
                    dbCursor = oprDatabase.selectBiodata(db, "SELECT nama, alamat,no_hp,jenis_kelamin FROM biodata WHERE nim='"+nim+"'");
                    dbCursor.moveToFirst();
                  
                    nama = dbCursor.getString(0);
                    alamat = dbCursor.getString(1);
                    no_hp = dbCursor.getString(2);
                    jenis_kelamin = dbCursor.getString(3);
                    TampilkanEditBiodata();
                }
            }
        });
        btnhapus = (Button) findViewById(R.id.btnhapus);
        btnhapus.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                    if(!nim.isEmpty()){
                        dialog.setTitle("Konfirmasi");
                        dialog.setMessage("Anda yakin akan menghapus data "+nim+" ini ?");
                        dialog.setNegativeButton("Cancel", null);
                        dialog.setPositiveButton("Ok", new AlertDialog.OnClickListener() {
                            public void onClick(DialogInterface dialog, int arg1) {
                                oprDatabase.deleteBiodata(db, nim);
                                TampilkanData();
                                nim = "";nama="";alamat="";no_hp="";jenis_kelamin="";
                            }
                        });
                        dialog.show();
                    }
                }

        });
        btnrefresh = (Button) findViewById(R.id.btnrefresh);
        btnrefresh.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                TampilkanData();
            }
        });
    }
    private void TampilkanData(){
        TableLayout TL=(TableLayout) findViewById(R.id.tableLayout);
        TL.removeAllViews();
 
        dbCursor = oprDatabase.selectBiodata(db, "SELECT * FROM biodata");
        dbCursor.moveToFirst();
        int jml_baris=dbCursor.getCount();
      
        if(jml_baris == 0) return;
      
        int kol_nim=dbCursor.getColumnIndex("nim");
        int kol_nama=dbCursor.getColumnIndex("nama");
        int kol_alamat=dbCursor.getColumnIndex("alamat");
        int kol_no_hp=dbCursor.getColumnIndex("no_hp");
        int kol_jenis_kelamin=dbCursor.getColumnIndex("jenis_kelamin");
        int indeks=1;
        String[][] data=new String[jml_baris][5];
        
        data[0][0]=dbCursor.getString(kol_nim);
        data[0][1]=dbCursor.getString(kol_nama);
        data[0][2]=dbCursor.getString(kol_alamat);
        data[0][3]=dbCursor.getString(kol_no_hp);
        data[0][4]=dbCursor.getString(kol_jenis_kelamin);
        
        if(dbCursor!=null){
            while(dbCursor.moveToNext()){
                data[indeks][0]=dbCursor.getString(kol_nim);
                data[indeks][1]=dbCursor.getString(kol_nama);
                data[indeks][2]=dbCursor.getString(kol_alamat);
                data[indeks][3]=dbCursor.getString(kol_no_hp);
                data[indeks][4]=dbCursor.getString(kol_jenis_kelamin);
                indeks++;
            }
        }
        
        TableLayout.LayoutParams ParameterTableLayout=new TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT, TableLayout.LayoutParams.WRAP_CONTENT);
        for(int awal=0; awal<jml_baris;awal++){
            TableRow TR=new TableRow(this);
            TR.setBackgroundColor(Color.BLACK);
            TR.setLayoutParams(ParameterTableLayout);
            TableRow.LayoutParams ParameterTableRow=new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT);
            ParameterTableRow.setMargins(1,1,1,1);
          
            final CheckBox chk = new CheckBox(this);
            chk.setTag(data[awal][0]);
            TR.addView(chk,ParameterTableRow );
            chk.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(chk.isChecked())
                        nim = chk.getTag().toString();
                    else
                        nim = "";
                }
              });
          
            for(int kolom = 0;kolom < 5; kolom++){
                TextView TV=new TextView(this);
                TV.setText(data[awal][kolom]);
                TV.setTextColor(Color.BLACK);
                TV.setPadding(1, 4, 1, 4);
                TV.setGravity(Gravity.LEFT);
                TV.setBackgroundColor(Color.WHITE);
                TR.addView(TV,ParameterTableRow );
            }
            TL.addView(TR);
        }
        
    }
    private void TampilkanEditBiodata(){
        Intent intentIsiBiodata = new Intent(this, IsiBiodata.class);
        intentIsiBiodata.putExtra("status", "edit");
        intentIsiBiodata.putExtra("nim", nim);
        intentIsiBiodata.putExtra("nama", nama);
        intentIsiBiodata.putExtra("alamat", alamat);
        intentIsiBiodata.putExtra("no_hp", no_hp);
        intentIsiBiodata.putExtra("jenis_kelamin", jenis_kelamin);
        nim = "";nama="";alamat="";no_hp="";jenis_kelamin="";
        startActivity(intentIsiBiodata);
    }

    public void onDestroy() {
        super.onDestroy();
        dbCursor.close();
        db.close();
    }
}

OperasiDatabase.java

package eko.crudsqlite;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class OperasiDatabase extends SQLiteOpenHelper{
    private static final String NAMA_DATABASE = "dbMahasiswa";
    private static final String NAMA_TABLE = "biodata";
   
    public OperasiDatabase(Context context) {
        super(context, NAMA_DATABASE, null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase arg0) {
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    }
    //method createTable untuk membuat table biodata
    public void createTable(SQLiteDatabase db){
        db.execSQL("CREATE TABLE if not exists "+NAMA_TABLE+" (nim VARCHAR(20) PRIMARY KEY, " +
                "nama varchar(50), alamat TEXT,no_hp varchar(13),jenis_kelamin varchar(15));");
    }

    public Cursor selectBiodata(SQLiteDatabase db, String sql){
        Cursor cursor = db.rawQuery(sql,null);
        return cursor;
    }
    //method insertBiodata untuk mengisikan data ke biodata.
    public void insertBiodata(SQLiteDatabase db, String[] data){
        ContentValues cv=new ContentValues();
        cv.put("nim", data[0]);
        cv.put("nama", data[1]);
        cv.put("alamat", data[2]);
        cv.put("no_hp", data[3]);
        cv.put("jenis_kelamin", data[4]);
        db.insert(NAMA_TABLE,null,cv);
    }
   
    //method updateBiodata untuk mengisikan data ke biodata.
    public void updateBiodata(SQLiteDatabase db, String[] data){
        ContentValues cv=new ContentValues();
        cv.put("nama", data[1]);
        cv.put("alamat", data[2]);
        cv.put("no_hp", data[3]);
        cv.put("jenis_kelamin", data[4]);
        String whereClause = "nim=?";
        String[] whereArgs = new String[] {String.valueOf(data[0])};
        db.update(NAMA_TABLE, cv, whereClause, whereArgs);
    }
    //method deleteBiodata untuk mengisikan data ke biodata.
    public void deleteBiodata(SQLiteDatabase db, String nim){
        String whereClause = "nim=?";
        String[] whereArgs = new String[] {String.valueOf(nim)};
        db.delete(NAMA_TABLE, whereClause, whereArgs);
    }
    public void deleteAllBiodata(SQLiteDatabase db){
        db.delete(NAMA_TABLE, null, null);
    }
}

Tidak ada komentar:

Posting Komentar

 
Etika Profesi © 2012 | Designed by Plantillas Blogger | Distributed by: best blogger templates for fashion free joomla blog template 1.7 | best vpn client for windows 7 64 cheap linux vps