Okeh langsung saja ke step-stepnya:
1. Buat Activity baru dengan
nama “LihatData” (tanpa tanda petik) dan layout “lihatdata”.
*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 “lihatdata.xml”. Isikan kode berikut:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
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/bgbiru"
tools:context=".LihatData" >
<TextView android:id="@+id/judul"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginBottom="20dp"
android:textStyle="bold"
android:textColor="#00FF00"
android:textSize="18sp"
android:text="@string/txtjudul" />
<ListView
android:id="@+id/lv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/judul" >
</ListView>
</RelativeLayout>
3. Buka “strings.xml” dan
tambahkan script berikut:
<string name="txtjudul">DAFTAR MAHASISWA</string>
4. Kemudian kita akan
menghubungkan activity LihatData ke MainMenu supaya jika menu tambah data
diklik akan tampil activity LihatData. 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;
case R.id.btnlihat :
Intent ld = new Intent(this, LihatData.class);
startActivity(ld);
break;
}
}
}
5. Selanjutnya buka DBDataSource.java.
Kita perlu menambahkan fungsi untuk mengambil semua data mahasiswa dari
database. Berikut ini kodenya (Tambahkan pada bagian sebelum kurung tutup
terakhir) :
//mengambil semua data mhs
public ArrayList<Mahasiswa> getAllMahasiswa() {
ArrayList<Mahasiswa> daftarMahasiswa = new ArrayList<Mahasiswa>();
// select all SQL query
Cursor cursor = database.query(DBHelper.TABLE_NAME,
allColumns, null, null, null, null, null);
// pindah ke data paling pertama
cursor.moveToFirst();
// jika masih ada data, masukkan data mhs ke
// daftar mhs
while (!cursor.isAfterLast()) {
Mahasiswa mahasiswa = cursorToMahasiswa(cursor);
daftarMahasiswa.add(mahasiswa);
cursor.moveToNext();
}
// Make sure to close the cursor
cursor.close();
return daftarMahasiswa;
}
6. Berikutnya buatlah file xml
dengan nama “kolom.xml”. Sesuaikan scriptnya menjadi seperti berikut:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:paddingBottom="5dp"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="5dp" >
<TextView
android:id="@+id/nama"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:text="@string/txtnama"
android:textColor="#FFFF00"
/>
<TextView
android:id="@+id/alamat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/txtalamat"
android:textColor="#FFFF00"
/>
</LinearLayout>
7. Kemudian buatlah kelas “DataListAdapter”
(tanpa tanda petik) dan berikut ini scriptnya:
package com.aina.dblatihan;
import java.util.ArrayList;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
public class DataListAdapter extends BaseAdapter{
Context context;
ArrayList<Mahasiswa> mhsList;
public DataListAdapter(Context context, ArrayList<Mahasiswa> values) {
this.context = context;
mhsList = values;
}
@Override
public int getCount() {
return mhsList.size();
}
@Override
public Object getItem(int position) {
return mhsList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup arg2) {
Mahasiswa contactListItems = mhsList.get(position);
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.kolom, null);
TextView tvNama = (TextView) convertView.findViewById(R.id.nama);
tvNama.setText(contactListItems.getNama());
TextView tvAlamat = (TextView) convertView.findViewById(R.id.alamat);
tvAlamat.setText(contactListItems.getAlamat());
return convertView;
}
return convertView;
}
}
8. Selanjutnya buka kelas LihatData dan atur
scriptnya menjadi seperti berikut:
}package com.aina.dblatihan;
import java.util.ArrayList;
import android.os.Bundle;
import android.widget.ListView;
import android.app.Activity;
public class LihatData extends Activity {
private DBDataSource dataSource;
ListView lvCustomList;
//inisialisasi arraylist
private ArrayList<Mahasiswa> values;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lihatdata);
lvCustomList = (ListView) findViewById(R.id.lv);
dataSource = new DBDataSource(this);
// buka kontroller
dataSource.open();
// ambil semua data mhs
values = dataSource.getAllMahasiswa();
DataListAdapter contactListAdapter = new DataListAdapter(
LihatData.this, (ArrayList<Mahasiswa>) values);
lvCustomList.setAdapter(contactListAdapter);
dataSource.close();
}
9. Jalankan Aplikasi. Pilih
Menu Lihat Data maka akan tampil seperti berikut:
Fin.
Happy Coding.
Alhamdulillah.
Jum'at, 24 Januari 2014
21:31
mksi infonya..
ReplyDeletemw naxa donk,, bgaimana menampilkan banyak data dari sqlite ke listview, misalnya 1000 data bgmna cara menampilkannya di listview??
trima kasih sebelumnya
nanya dong , gimana setelah login, username muncul sebagai text view pembuka, cth: hello, adi.. nah si adi ngambil dari username yang sudah terdaftar
ReplyDelete