Ini merupakan tutorial lanjutan dari seri tutorial android
sebelumnya (lihat postingan sebelum ini). Jadi kita akan tetap bekerja pada
project yang sudah kita buat sebelumnya.
Okeh langsung saja ke step-stepnya:
1. Buat Activity baru dengan nama “CariData” (tanpa tanda petik) dan layout “caridata”. *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 “caridata.xml”. Isikan kode berikut:
Okeh langsung saja ke step-stepnya:
1. Buat Activity baru dengan nama “CariData” (tanpa tanda petik) dan layout “caridata”. *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 “caridata.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=".CariData" >
<EditText android:id="@+id/cari"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:hint="@string/txtcari"
/>
<Button
android:id="@+id/btncari"
android:layout_width="90dp"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/cari"
android:layout_toRightOf="@+id/cari"
android:text="@string/btncari" />
<RelativeLayout android:id="@+id/RelativeLayout01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_below="@+id/cari">
<TextView
android:id="@+id/tvjumlah"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:layout_marginRight="90dp"
/>
<TextView
android:id="@+id/tvket"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/tvjumlah"
android:textStyle="bold" />
</RelativeLayout>
<RelativeLayout android:id="@+id/RelativeLayout02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/RelativeLayout01">
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp" >
</ListView>
</RelativeLayout>
</RelativeLayout>
3. Buka “strings.xml” dan
tambahkan script berikut:
<string name="btncari">Cari</string>
<string name="txtcari">Masukkan Nama</string>
<string name="txtjumlah">Jumlah :</string>
<string name="txtcaridata">Cari Data</string>
4. Kemudian kita akan
menghubungkan activity CariData ke MainMenu supaya jika menu cari data diklik
akan tampil activity CariData. 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;
case R.id.btncari :
Intent cd = new Intent(this, CariData.class);
startActivity(cd);
break;
}
}
}
5. Selanjutnya buka DBDataSource.java.
Kita perlu menambahkan fungsi untuk mencari data mahasiswa dari database. Berikut
ini kodenya (Tambahkan pada bagian sebelum kurung tutup terakhir):
public Cursor cariDataMahasiswa(String cari) {
return database.query(DBHelper.TABLE_NAME, allColumns, "nama like '%"+cari+"%'", null, null, null, null);
}
public Cursor hitungDataMahasiswa(String x) {
return database.rawQuery("SELECT count (nama) from tb_mhs WHERE nama LIKE '%"+x+"%'", null);
}
6. Buka CariData.java lalu sesuaikan
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.widget.EditText;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
import android.widget.Toast;
import android.app.Activity;
import android.database.Cursor;
public class CariData extends Activity implements OnClickListener{
private DBDataSource dataSource;
private Button btnCari;
private EditText etCari;
private TextView jumlah;
String cari;
ListView lvCustomList;
Cursor cursor,cursor2;
protected ListAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.caridata);
btnCari = (Button) findViewById(R.id.btncari);
btnCari.setOnClickListener(this);
lvCustomList = (ListView) findViewById(R.id.listView1);
jumlah = (TextView) findViewById(R.id.tvjumlah);
// instanstiasi kelas DBDataSource
dataSource = new DBDataSource(this);
//membuat sambungan baru ke database
dataSource.open();
etCari = (EditText) findViewById(R.id.cari);
}
@Override
public void onClick(View v) {
switch(v.getId())
{
case R.id.btncari:
cariMhs();
break;
}
}
public void cariMhs(){
if (etCari.getText().length() == 0){
//konfirmasi kesuksesan
Toast.makeText(this, "Silakan Masukkan Nama" , Toast.LENGTH_LONG).show();
lvCustomList.setAdapter(null);
jumlah.setText("");
}else{
cari = etCari.getText().toString();
Cursor cursor = dataSource.cariDataMahasiswa(cari);
adapter= new SimpleCursorAdapter(this,R.layout.kolom, cursor,
new String [] {"nama","alamat"},
new int [] {R.id.nama,R.id.alamat});
Cursor cursor2 = dataSource.hitungDataMahasiswa(cari);
cursor2.moveToFirst();
if(adapter.isEmpty()){
Toast.makeText(this, "Data Tidak Ditemukan" , Toast.LENGTH_LONG).show();
lvCustomList.setAdapter(null);
jumlah.setText("");
}else{
lvCustomList.setAdapter(adapter);
jumlah.setText("Jumlah : "+cursor2.getInt(0));
}etCari.setText("");
}
}
@Override
public void onBackPressed() {
finish();
dataSource.close();
}
}
7. Jalankan Aplikasi dan Pilih Menu Cari Data.
Misalkan kita mencari data mahasiswa yang bernama tina.
Kemudian berikut adalah tampilan ketika data mahasiswa ditemukan.
Kemudian ketika kita tidak mengisi nama lalu mengeklik button cari, maka akan tampil:
Sekian seri tutorial androidnya.
Fin.
Happy Coding.
Alhamdulillah.
:)
Jum'at, 24 Januari 2014
22:30
bagi codingnya donk bro :-)
ReplyDeleteoberlinlingga@gmail.com
Terima kasih telah berbagi,., semoga ilmunya semakin bertambah + berkah,. untuk tutorial sqlite ini ada sourcenya gak ? kalau ada & bisa di bagi, aku minta link + kirim ke email : mulyanayusuf30@gmail.com,.
ReplyDeletesilahkan cek emailnya ^^
Deletekl untuk menambahkan fungsi search pada listview, terus database nya ada relasi nya tabel 1 dan tabel 2 db sy SQLite, kira2 gmn ya....
Deletemohon petunjuk nya kl ad project nya boleh sm minta kl g boleh jg gpp,.
smg bermanfaat, terima kasih modeoff3@gmail.com
Selamat pagi...
ReplyDeleteTutorialnya sangat membantu saya mbak Aina. Apabila diperbolehkan saya request programnya di email: blog@aimagu.com
Terima kasih
silahkan cek emailnya ya ^^
Deletembaki minta source code untuk sqlite dari pertama ampe selesai dung..
ReplyDeleteimamchairul76@gmail.com
mba aina tutorialnya sangat bagus, tapi saya masih belum mengerti karena masih awam, klo berkenan saya minta source code nya, tolong kirim ke djoeniar@gmail.com
ReplyDeleteyang nyari source code nya tolong baca di index dari seri tutorial android yang ada di blog saya ini. terima kasih. ^^
Deleteini artikel mantap sekali, jika boleh saya minta source code nya bro,.. bisa kasih kirim di email saya vjivandro77@gmail.com. sebelumnya terima kasih dan semoga selalu memberi artikel yang bermanfaat lagi. : )
ReplyDeletembak masih simpen source code nya ? link download 4shared nya udah mati.. jelocantik@gmail.com
ReplyDeletelink sudah diperbaharui..
DeleteMbak Boleh Mintak Source code nya...
ReplyDeleten.marfiqah@gmail.com
link source code ada di index dari seri tutorial android yang ada di blog saya ini. terima kasih..
DeleteBoleh minta coding.y..
ReplyDeleteKelenyoand93@gmail.com
link source code ada di index dari seri tutorial android yang ada di blog saya ini. terima kasih..
Deleteboleh minta Source codenya mbak??
ReplyDeletekebetulan hampir mirip dgn project yg sy buat...
elisaademahesa@gmail.com
tolong baca di index dari seri tutorial android yang ada di blog saya ini. link untuk source code nya sudah ada disana. terima kasih. ^^
Delete