Okeh langsung saja ke step-stepnya:
1. Buat Activity baru dengan
nama “TambahData” (tanpa tanda petik) dan layout “tambahdata”.
*Silahkan sesuaikan sendiri jika ingin memberi nama sendiri.
2. Selanjutnya kita akan
mengatur tampilan layoutnya. Buka folder res/layout pada project kalian dan
buka file “tambahdata.xml”. Isikan kode berikut:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"<LinearLayout android:id="@+id/LinearLayout01"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="@drawable/bgnaruto"
tools:context=".TambahData" >
<TextView
android:id="@+id/tvtdjudul"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:textStyle="bold"
android:text="@string/txttdjudul" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="30dp">
<TextView
android:id="@+id/tvnama"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="25dp"
android:text="@string/txtnama" />
<EditText android:id="@+id/nama"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:inputType="text"
/>
</LinearLayout>
<LinearLayout android:id="@+id/LinearLayout02"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tvalamat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="20dp"
android:text="@string/txtalamat" />
<EditText android:id="@+id/alamat"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:inputType="text"
/>
</LinearLayout>
<LinearLayout android:id="@+id/LinearLayout03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="68dp"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<Button
android:id="@+id/btnsimpan"
android:layout_width="75dp"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:text="@string/btnsimpan" />
<Button
android:id="@+id/btnreset"
android:layout_width="75dp"
android:layout_height="wrap_content"
android:text="@string/tombol_cancel" />
</LinearLayout>
</LinearLayout>
3. Buka “strings.xml” dan
tambahkan script berikut:
<string name="txttdjudul">TAMBAH DATA MAHASISWA</string> <string name="txtnama">Nama</string>
<string name="txtalamat">Alamat</string>
<string name="btnsimpan">Simpan</string>
4. Kemudian kita akan
menghubungkan activity TambahData ke MainMenu supaya jika menu tambah data
diklik akan tampil activity TambahData. Buka MainMenu.java dan ganti scriptnya
menjadi seperti berikut:
package com.aina.dblatihan;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.app.Activity;
import android.content.Intent;
public class MainMenu extends Activity implements OnClickListener{
private Button btnTambah,btnLihat,btnCari;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mainmenu);
btnTambah = (Button) findViewById(R.id.btntambah);
btnTambah.setOnClickListener(this);
btnLihat = (Button) findViewById(R.id.btnlihat);
btnLihat.setOnClickListener(this);
btnCari = (Button) findViewById(R.id.btncari);
btnCari.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId())
{
case R.id.btntambah :
Intent td = new Intent(this, TambahData.class);
startActivity(td);
break;
}
}
}
5.
Selanjutnya kita perlu
membuat kelas controller untuk menangani database. Buat kelas “DBDataSource.java”
(tanpa tanda petik). Berikut ini kodenya:
package com.aina.dblatihan;
import java.util.ArrayList;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
public class DBDataSource {
//inisialiasi SQLite Database
private SQLiteDatabase database;
//inisialisasi kelas DBHelper
private DBHelper dbHelper;
//ambil semua nama kolom
private String[] allColumns = { DBHelper.COLUMN_ID,
DBHelper.COLUMN_NAMA, DBHelper.COLUMN_ALAMAT};
//DBHelper diinstantiasi pada constructor
public DBDataSource(Context context)
{
dbHelper = new DBHelper(context);
}
//membuka/membuat sambungan baru ke database
public void open() throws SQLException {
database = dbHelper.getWritableDatabase();
}
//menutup sambungan ke database
public void close() {
dbHelper.close();
}
//method untuk create/insert barang ke database
public Mahasiswa createMahasiswa(String nama, String alamat) {
// membuat sebuah ContentValues, yang berfungsi
// untuk memasangkan data dengan nama-nama
// kolom pada database
ContentValues values = new ContentValues();
values.put(DBHelper.COLUMN_NAMA, nama);
values.put(DBHelper.COLUMN_ALAMAT, alamat);
// mengeksekusi perintah SQL insert data
// yang akan mengembalikan sebuah insert ID
long insertId = database.insert(DBHelper.TABLE_NAME, null,
values);
// setelah data dimasukkan, memanggil
// perintah SQL Select menggunakan Cursor untuk
// melihat apakah data tadi benar2 sudah masuk
// dengan menyesuaikan ID = insertID
Cursor cursor = database.query(DBHelper.TABLE_NAME,
allColumns, DBHelper.COLUMN_ID + " = " + insertId, null,
null, null, null);
// pindah ke data paling pertama
cursor.moveToFirst();
// mengubah objek pada kursor pertama tadi
// ke dalam objek mhs
Mahasiswa newMhs = cursorToMahasiswa(cursor);
// close cursor
cursor.close();
// mengembalikan barang baru
return newMhs;
}
private Mahasiswa cursorToMahasiswa(Cursor cursor)
{
// buat objek mhs baru
Mahasiswa mhs = new Mahasiswa();
// debug LOGCAT
// Log.v("info", "The getLONG "+cursor.getLong(0));
// Log.v("info", "The setLatLng "+cursor.getString(1)+","+cursor.getString(2));
/* Set atribut pada objek mhs dengan
* data kursor yang diambil dari database*/
mhs.setId(cursor.getLong(0));
mhs.setNama(cursor.getString(1));
mhs.setAlamat(cursor.getString(2));
//kembalikan sebagai objek mhs
return mhs;
}
}
6. Buka TambahData.java lalu sesuaikan
scriptnya menjadi seperti berikut:
package com.aina.dblatihan;7. Jalankan Aplikasi. Jika berhasil akan tampil seperti berikut ini:
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class TambahData extends Activity implements OnClickListener{
//inisilisasi elemen-elemen pada layout
private Button btnSimpan,btnReset;
private EditText etNama;
private EditText etAlamat;
//inisialisasi kontroller/Data Source
private DBDataSource dataSource;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tambahdata);
btnSimpan = (Button) findViewById(R.id.btnsimpan);
btnSimpan.setOnClickListener(this);
btnReset = (Button) findViewById(R.id.btnreset);
btnReset.setOnClickListener(this);
etNama = (EditText) findViewById(R.id.nama);
etAlamat = (EditText) findViewById(R.id.alamat);
etNama.requestFocus();
// instanstiasi kelas DBDataSource
dataSource = new DBDataSource(this);
//membuat sambungan baru ke database
dataSource.open();
}
//KETIKA Tombol Submit Diklik
@Override
public void onClick(View v) {
// Inisialisasi data mhs
String nama = null;
String alamat = null;
//inisialisasi mhs baru (masih kosong)
Mahasiswa mahasiswa= null;
if(etNama.getText()!=null && etAlamat.getText()!=null)
{
/* jika field nama dan alamat tidak kosong
* maka masukkan ke dalam data mhs*/
nama = etNama.getText().toString();
alamat = etAlamat.getText().toString();
}
switch(v.getId())
{
case R.id.btnsimpan:
// insert data mhs baru
mahasiswa = dataSource.createMahasiswa(nama, alamat);
//tampilkan toast (pemberitahuan) jika berhasil disimpan
Toast.makeText(this, "Data Mahasiswa Berhasil ditambahkan\n" +
"Nama :" + mahasiswa.getNama() + "\n"+
"Alamat :" + mahasiswa.getAlamat() , Toast.LENGTH_LONG).show();
etNama.setText("");
etAlamat.setText("");
etNama.requestFocus();
break;
case R.id.btnreset:
etNama.setText("");
etAlamat.setText("");
etNama.requestFocus();
break;
}
}
@Override
public void onBackPressed() {
finish();
dataSource.close();
}
}
memasukkan data mahasiswa |
toast (pemberitahuan) keberhasilan input data mahasiswa |
Fin.
Happy Coding.
Alhamdulillah.
:)
Jum'at, 24 Januari 2014
21:01
No comments:
Post a Comment