Slide Android

Struktur Folder

*Logic di folder Java

*Desain di folder res

res/value/string.xml

<resources>
    <string name="hello">Masukkan nama dan hobi</string>
    <string name="app_name">Database Android #1</string>
    <string name="btnAddtxt">Add</string>
    <string name="namaLabel">Nama</string>
    <string name="hobiLabel">hobi</string>
    <string name="nomorLabel">No.</string>
</resources>

Menyimpan konfigurasi nama/label dari aplikasi

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" />
    <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> <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/hobiLabel"
        android:id="@+id/hobi_id"></TextView>
    </TableRow>
    </TableLayout>
</LinearLayout>

Desain dari halaman utama aplikasi

java/../DatabaseManager.java

package com.db.satu;

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;
public class DatabaseManager
{
    private static final String ROW_ID = "_id";
    private static final String ROW_NAMA = "nama";
    private static final String ROW_HOBI = "hobi";
    private static final String NAMA_DB = "DatabaseAndroidSatu";
    private static final String NAMA_TABEL = "hobiku";
    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(context);
        db = dbHelper.getWritableDatabase();
    }

    private static class DatabaseOpenHelper extends
            SQLiteOpenHelper {

        public DatabaseOpenHelper(Context context) {
            super(context, NAMA_DB, null, DB_VERSION);
            // TODO Auto-generated constructor stub
        }

        @Override
        public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
            db.execSQL(CREATE_TABLE);
        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVer, int
                newVer) {
            // TODO Auto-generated method stub
            db.execSQL("DROP TABLE IF EXISTS "+NAMA_DB);
            onCreate(db);

        } }
    public void close() {
        dbHelper.close();
    }

    public void addRow(String nama, String hobi) {
        ContentValues values = new ContentValues();
        values.put(ROW_NAMA, nama);
        values.put(ROW_HOBI, hobi);
        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) {
// TODO Auto-generated catch block
            e.printStackTrace();
            Log.e("DEBE ERROR", e.toString());
        }
        return dataArray;
    }}

koneksi ke database sqlite

java/../MainActivity.java

package com.db.satu;

import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
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;
    Button addBtn;
    TableLayout tabel4data;// tabel for data
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        dm = new DatabaseManager(this);
        tabel4data = (TableLayout) findViewById(R.id.tabel_data);
        nama = (EditText) findViewById(R.id.inNama);
        hobi = (EditText) findViewById(R.id.inHobi);
        addBtn = (Button) findViewById(R.id.btnAdd);
        addBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                simpKamuta();
            }

        });
        updateTable();
    }

    protected void simpKamuta() {
        try {
            dm.addRow(nama.getText().toString(),hobi.getText().toString());
            Toast.makeText(getBaseContext(),
                    nama.getText().toString() + ", berhasil disimpan",
                    Toast.LENGTH_SHORT).show();
            updateTable();
            kosongkanField();
        } catch (Exception e) {
            e.printStackTrace();
            Toast.makeText(getBaseContext(), "gagal simpan, " +
                    e.toString(),Toast.LENGTH_LONG).show();
        } }
    protected void kosongkanField(){
        nama.setText("");
        hobi.setText("");
    }
    protected void updateTable() {
// TODO Auto-generated method stub
        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);
        }}}

Logic dari halaman utama aplikasi

Run Aplikasi 

BSI Android Java Sqlite

By Maulana Ilham

BSI Android Java Sqlite

BSI Android Java Sqlite

  • 839