Program database sqllite Android-Eclipse

1. Buatlah proyek android baru dengan nama yang menggambarkan identitas masing-masing dan nama proyek yang sedang dikerjakan.
2. Programing values/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello_world">Masukkan nama dan alamat</string>
    <string name="app_name">Database SQLLite Android Priyadi</string>
    <string name="btnAddtxt">Add</string>
    <string name="namaLabel">Nama</string>
    <string name="alamatLabel">Alamat</string>
    <string name="nomorLabel">No.</string>
    <string name="btnGetRow">Get</string>
    <string name="btnUpdateRow">Update</string>
    <string name="ketUpdate">Sebelum mengubah data,
     pilih dulu baris ke berapa
     data yang akan diubah</string>
    <string name="ketAmbilBaris">Update data pada baris
    </string>
    <string name="ketDelete">Tulis no. baris
     yang akan di delete,
     lalu klik tombol &quot;delete&quot;</string>
    <string name="btnDel">Delete</string>
</resources>

 

3. Programing res/layout/activity_main.xml 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
         android:orientation="vertical"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent">
     <TextView android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:text="@string/hello_world" />
     <LinearLayout android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:id="@+id/linearLayout1">
     <EditText android:id="@+id/inNama"
         android:layout_height="wrap_content"
         android:layout_width="100dip"></EditText>
     <EditText android:id="@+id/inHobi"
         android:layout_height="wrap_content"
         android:layout_width="100dip"></EditText>
     <Button android:layout_width="wrap_content"
         android:id="@+id/btnAdd"
         android:layout_height="wrap_content"
         android:text="@string/btnAddtxt"></Button>
 </LinearLayout>
     <View android:layout_width="wrap_content"
         android:id="@+id/view2"
         android:layout_height="1dip"
         android:background="#FF909090"></View>
     <TextView android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:id="@+id/textView1"
         android:text="@string/ketUpdate"></TextView>
     <View android:layout_width="wrap_content"
         android:id="@+id/view2"
         android:layout_height="1dip"
         android:background="#FF909090"></View>
 <LinearLayout android:layout_width="match_parent"
         android:id="@+id/linearLayout2"
         android:layout_height="wrap_content">
     <TextView android:layout_width="wrap_content"
         android:text="@string/ketAmbilBaris"
         android:layout_height="wrap_content"
         android:id="@+id/textView2"></TextView>
     <EditText android:layout_height="wrap_content"
         android:id="@+id/inGetId"
         android:layout_width="50dip"></EditText>
    <Button android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="@string/btnGetRow"
         android:id="@+id/btnGetId"></Button>
 </LinearLayout>
 <LinearLayout android:layout_width="match_parent"
         android:id="@+id/linearLayout3"
         android:layout_height="wrap_content">
     <EditText android:layout_height="wrap_content"
         android:layout_width="100dip"
         android:id="@+id/inUpdateNama"></EditText>
     <EditText android:layout_height="wrap_content"
         android:layout_width="100dip"
         android:id="@+id/inUpdateAlamat"></EditText>
     <Button android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="@string/btnUpdateRow"
         android:id="@+id/btnUpdate"></Button>
 </LinearLayout>
     <View android:layout_width="wrap_content"
         android:id="@+id/view2"
         android:layout_height="1dip"
         android:background="#FF909090"></View>
     <TextView android:layout_height="wrap_content"
         android:layout_width="wrap_content"
         android:id="@+id/textView3"
         android:text="@string/ketDelete"></TextView>
 <LinearLayout android:id="@+id/linearLayout4"
         android:layout_height="wrap_content"
         android:layout_width="match_parent">
     <EditText android:layout_height="wrap_content"
         android:layout_width="50dip"
         android:id="@+id/idDelete"></EditText>
     <Button android:layout_height="wrap_content"
         android:layout_width="wrap_content"
         android:id="@+id/btnDel"
         android:text="@string/btnDel"></Button>
 </LinearLayout>
     <View android:layout_width="wrap_content"
         android:id="@+id/view2"
         android:layout_height="1dip"
         android:background="#FF909090"></View>
     <TableLayout android:layout_height="wrap_content"
         android:layout_width="match_parent"
         android:id="@+id/tabel_data">
     <TableRow android:id="@+id/tableRow1"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content">
     <TextView android:layout_height="wrap_content"
         android:layout_width="50dip"
         android:text="@string/nomorLabel"
         android:id="@+id/no_id"></TextView>
     <TextView android:layout_height="wrap_content"
         android:layout_width="100dip"
         android:text="@string/namaLabel"
         android:id="@+id/nama_id"></TextView>
     <TextView android:layout_width="100dip"
         android:layout_height="wrap_content"
         android:text="@string/alamatLabel"
         android:id="@+id/alamat_id"></TextView>
 </TableRow>
 </TableLayout>
 </LinearLayout>

4. Dalam contoh ini tidak menggunakan menu, jadi kode menu dapat dihilangkan seperti berikut :

 

5. Buatlah kelas baru pada package default project dengan nama ‘DatabaseManager.java’ dan programing seperti berikut :

 

package com.priyadisqllite;
import java.util.ArrayList;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import android.widget.Toast;
public class DatabaseManager {
    private static final String ROW_ID = "_id";
    private static final String ROW_NAMA = "nama";
    private static final String ROW_HOBI = "alamat";
    private static final String NAMA_DB = "DatabaseAndroidDua";
    private static final String NAMA_TABEL = "datamemberbarumbs";
    private static final int DB_VERSION = 1;
    private static final String CREATE_TABLE = "create table " + NAMA_TABEL
            + " (" + ROW_ID + " integer PRIMARY KEY autoincrement," + ROW_NAMA
            + " text," + ROW_HOBI + " text)";

    private final Context context;
    private DatabaseOpenHelper dbHelper;
    private SQLiteDatabase db;
    public DatabaseManager(Context ctx) {
        this.context = ctx;
        dbHelper = new DatabaseOpenHelper(ctx);
        db = dbHelper.getWritableDatabase();
    }
    public static class DatabaseOpenHelper extends SQLiteOpenHelper {
        public DatabaseOpenHelper(Context context) {
            super(context, NAMA_DB, null, DB_VERSION);
        }

        @Override
        public void onCreate(SQLiteDatabase db) {
            db.execSQL(CREATE_TABLE);
        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVer, int newVer) {
            db.execSQL("DROP TABLE IF EXISTS " + NAMA_DB);
            onCreate(db);
        }
    }
    public void close() {
        dbHelper.close();
    }

    public void addRow(String nama, String alamat) {

        ContentValues values = new ContentValues();
        values.put(ROW_NAMA, nama);
        values.put(ROW_HOBI, alamat);

        try {
            db.insert(NAMA_TABEL, null, values);
        } catch (Exception e) {
            Log.e("DB ERROR", e.toString());
            e.printStackTrace();
        }
    }

    public ArrayList<ArrayList<Object>> ambilSemuaBaris() {
        ArrayList<ArrayList<Object>> dataArray = new ArrayList<ArrayList<Object>>();
        Cursor cur;
        try {
            cur = db.query(NAMA_TABEL, new String[] { ROW_ID, ROW_NAMA,
                    ROW_HOBI }, null, null, null, null, null);
            cur.moveToFirst();
            if (!cur.isAfterLast()) {
                do {
                    ArrayList<Object> dataList = new ArrayList<Object>();
                    dataList.add(cur.getLong(0));
                    dataList.add(cur.getString(1));
                    dataList.add(cur.getString(2));
                    dataArray.add(dataList);
                } while (cur.moveToNext());
            }
        } catch (Exception e) {
            e.printStackTrace();
            Log.e("DEBE ERROR", e.toString());
            Toast.makeText(context, "gagal ambil semua baris:" + e.toString(),
                    Toast.LENGTH_SHORT).show();
        }
        return dataArray;
    }

    public ArrayList<Object> ambilBaris(long rowId) {

        ArrayList<Object> arrbaris = new ArrayList<Object>();
        Cursor cursor;
        try {
            cursor = db.query(NAMA_TABEL, new String[] { ROW_ID, ROW_NAMA,
                    ROW_HOBI }, ROW_ID + "=" + rowId, null, null, null, null,
                    null);
            cursor.moveToFirst();

            if (!cursor.isAfterLast()) {
                do {
                    arrbaris.add(cursor.getLong(0));
                    arrbaris.add(cursor.getString(1));
                    arrbaris.add(cursor.getString(2));
                } while (cursor.moveToNext());
                String r = String.valueOf(arrbaris);
                Toast.makeText(context, "haha" + r, Toast.LENGTH_SHORT).show();
            }
            cursor.close();
        } catch (Exception e) {
            e.printStackTrace();
            Log.e("error", e.toString());
            Toast.makeText(context, "hhii" + e.toString(), Toast.LENGTH_SHORT)
                    .show();
        }
        return arrbaris;
    }

    public void updateBaris(long rowId, String nama, String alamat) {

        ContentValues cv = new ContentValues();
        cv.put(ROW_NAMA, nama);
        cv.put(ROW_HOBI, alamat);

        try {
            db.update(NAMA_TABEL, cv, ROW_ID + "=" + rowId, null);
        } catch (Exception e) {
            e.printStackTrace();
            Log.e("Db Error", e.toString());
        }
    }

    public void deleteBaris(long idBaris) {
        try {
            db.delete(NAMA_TABEL, ROW_ID + "=" + idBaris, null);
        } catch (Exception e) {
            e.printStackTrace();
            Log.e("Error", e.toString());
        }
    }
    
}
 

 

6. Programing pada bagian MainActivity.java seperti berikut :

  package com.priyadisqllite;

import java.util.ArrayList;
import com.priyadisqllite.DatabaseManager;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
    DatabaseManager dm;
    EditText nama, hobi, GetId, updateNama, updateAlamat, idDel;
    Button addBtn, getIdBtn, updateBtn, delBtn;
    TableLayout tabel4data;// tabel for data

    /** Called when the activity is first created. */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        dm = new DatabaseManager(this);
        setupView();
        fungsiBtn();
        updateTable();
    }
    public void setupView() {
        tabel4data = (TableLayout) findViewById(R.id.tabel_data);
        nama = (EditText) findViewById(R.id.inNama);
        hobi = (EditText) findViewById(R.id.inHobi);
        updateNama = (EditText) findViewById(R.id.inUpdateNama);
        updateAlamat = (EditText) findViewById(R.id.inUpdateAlamat);
        GetId = (EditText) findViewById(R.id.inGetId);
        idDel = (EditText) findViewById(R.id.idDelete);

        addBtn = (Button) findViewById(R.id.btnAdd);
        getIdBtn = (Button) findViewById(R.id.btnGetId);
        updateBtn = (Button) findViewById(R.id.btnUpdate);
        delBtn = (Button) findViewById(R.id.btnDel);
    }
    
    public void fungsiBtn() {
        addBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                simpKamuta();
                kosongkanField();
            }
        });
        getIdBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View b) {
                ambilBaris();
            }
        });
        updateBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View c) {
                updateBaris();
                kosongkanField();
            }
        });
        delBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View d) {
                // TODO Auto-generated method stub
                deleteData();
                kosongkanField();
            }
        });
    }
//    . fungsi button
    
    protected void kosongkanField() {
        nama.setText("");
        hobi.setText("");
        updateNama.setText("");
        updateAlamat.setText("");
        GetId.setText("");
        idDel.setText("");
    }

    private void deleteData() {
        dm.deleteBaris(Long.parseLong(idDel.getText().toString()));
        updateTable();
    }
    protected void updateBaris() {
        dm.updateBaris(Long.parseLong(GetId.getText().toString()), updateNama
                .getText().toString(), updateAlamat.getText().toString());
        updateTable();
    }

    private void ambilBaris() {
         try {
         ArrayList<Object> baris;
         baris =
         dm.ambilBaris(Long.parseLong(GetId.getText().toString()));
         updateNama.setText((String) baris.get(1));
         updateAlamat.setText((String) baris.get(2));
         } catch (NumberFormatException e) {
         e.printStackTrace();
         Log.e("eror db", e.toString());
         Toast.makeText(getBaseContext(), e.toString(),Toast.LENGTH_LONG).show();
         }}
         
    
       
//         penyimpanan data
        protected void simpKamuta() {
             try {
             dm.addRow(nama.getText().toString(),
             hobi.getText().toString());
             updateTable();
             } catch (Exception e) {
                 e.printStackTrace();
         Toast.makeText(getBaseContext(),"gagal simpan,"+
         e.toString(),Toast.LENGTH_LONG).show();
         }
         }
//        . penyimpanan data
       
        // update tabel
                 protected void updateTable() {
                 while (tabel4data.getChildCount() > 1) {
                 tabel4data.removeViewAt(1);
                 }
                 ArrayList<ArrayList<Object>> data = dm.ambilSemuaBaris();//
                 for (int posisi = 0; posisi < data.size(); posisi++) {
                 TableRow tabelBaris = new TableRow(this);
                 ArrayList<Object> baris = data.get(posisi);
               
                 TextView idTxt = new TextView(this);
                 idTxt.setText(baris.get(0).toString());
                 tabelBaris.addView(idTxt);
               
                 TextView namaTxt = new TextView(this);
                 namaTxt.setText(baris.get(1).toString());
                 tabelBaris.addView(namaTxt);
               
                 TextView hobiTxt = new TextView(this);
                 hobiTxt.setText(baris.get(2).toString());
                 tabelBaris.addView(hobiTxt);
               
                 tabel4data.addView(tabelBaris);
                 }
                 }
//                 . update tabel
    

}


7. Jalankan dan simulasikan penggunaan program. Tampilan program kurang lebih akan seperti berikut :

Komentar

Postingan populer dari blog ini

Membuat player audio android eclipse

Kumpulan Materi PPT Perkuliahan Logika dan Algoritma Pemrograman dengan Bahasa Pascal

Perbedaan PHP 7 dan PHP 8