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