public class Kamus {
private String istilah;
private String arti;
private String baru;
public String getIstilah() {
return istilah;
}
public void setIstilah(String istilah) {
this.istilah = istilah;
}
public String getArti() {
return arti;
}
public void setArti(String arti) {
this.arti = arti;
}
public String getBaru() {
return baru;
}
public void setBaru(String baru) {
this.baru = baru;
}
@Override
public String toString() {
return this.istilah;
}
}
Class DatabaseHelper
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import com.readystatesoftware.sqliteasset.SQLiteAssetHelper;
public class DatabaseHelper extends SQLiteAssetHelper {
private static final String DB_NAME = "db_kamus10";
private static final int DB_VER = 1;
private static final String TB_DATA = "tb_kamus";
public static final String COL_ID = "_id";
public static final String COL_ISTILAH = "istilah";
public static final String COL_ARTI = "arti";
public static final String COL_BARU = "baru";
private static DatabaseHelper dbInstance;
private static SQLiteDatabase db;
private DatabaseHelper(Context context) {
super(context, DB_NAME, null, DB_VER);
}
public static DatabaseHelper getInstance(Context context) {
if (dbInstance == null) {
dbInstance = new DatabaseHelper(context);
db = dbInstance.getWritableDatabase();
}
return dbInstance;
}
@Override
public synchronized void close() {
super.close();
if (dbInstance != null) {
dbInstance.close();
}
}
public List<Kamus> getAllKamus() {
List<Kamus> lisKamus = new ArrayList<Kamus>();
Cursor cursor = db.query(TB_DATA, new String[] { COL_ID, COL_ID,
COL_ARTI, COL_BARU, COL_ISTILAH}, null, null, null, null, COL_ISTILAH);
if (cursor.getCount() >= 1) {
cursor.moveToFirst();
do {
Kamus kamus = new Kamus();
kamus.setArti(cursor.getString(cursor.getColumnIndexOrThrow(COL_ARTI)));
kamus.setBaru(cursor.getString(cursor.getColumnIndexOrThrow(COL_BARU)));
kamus.setIstilah(cursor.getString(cursor.getColumnIndexOrThrow(COL_ISTILAH)));
lisKamus.add(kamus);
} while (cursor.moveToNext());
}
return lisKamus;
}
}
Class MainActivity
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
public class MainActivity extends Activity implements TextWatcher, OnItemClickListener {
private EditText search;
private ListView lv;
private DatabaseHelper dbHelper;
private ArrayAdapter<Kamus> adapter;
private List<Kamus> listKamus;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.lv_data);
lv.setEmptyView(findViewById(R.id.empty));
search = (EditText) findViewById(R.id.search);
dbHelper = DatabaseHelper.getInstance(this);
setData();
search.addTextChangedListener(this);
lv.setOnItemClickListener(this);
}
private void setData() {
listKamus = dbHelper.getAllKamus();
adapter = new ArrayAdapter<Kamus>(this,
android.R.layout.simple_expandable_list_item_1, listKamus);
lv.setAdapter(adapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long id) {
// TODO Auto-generated method stub
Bundle b = new Bundle();
b.putString("istilah", adapter.getItem(position).getIstilah());
b.putString("arti", adapter.getItem(position).getArti());
b.putString("baru", adapter.getItem(position).getBaru());
Intent i = new Intent(this, ArtiActivity.class);
i.putExtras(b);
startActivity(i);
finish();
}
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
adapter.getFilter().filter(s.toString());
}
}
Class ArtiActivity
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;
public class ArtiActivity extends Activity {
private TextView txtBaru, txtArti, txtIstilah;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_arti);
Bundle b = getIntent().getExtras();
txtIstilah = (TextView) findViewById(R.id.istilah);
txtArti = (TextView) findViewById(R.id.arti);
txtBaru = (TextView) findViewById(R.id.baru);
txtIstilah.setText(b.getString("istilah"));
txtArti.setText(b.getString("arti"));
txtBaru.setText(b.getString("baru"));
}
}
Layout activity_arti
<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"
tools:context=".ArtiActivity" >
<TextView
android:id="@+id/istilah"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Istilah" />
<TextView
android:id="@+id/garis"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@id/istilah"
android:background="#000" />
<TextView
android:id="@+id/baru"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/garis"
android:text="Baru" />
<TextView
android:id="@+id/arti"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/baru"
android:text="Arti" />
</RelativeLayout>
Tidak ada komentar:
Posting Komentar