Pada kali ini saya akan berbagi mengenai pembuatan aplikasi sederhana berbasis android, aplikasi ini juga dibuat untuk memenuhi UAS Genap mata kuliah Mobile Programming.pada kesempatan kali ini penulis membuat Aplikasi Kamus Komputer menggunakan database SQLite, fungsi aplikasi ini yaitu kumpulan istilah - istilah dalam sebuah komputer. ok kita langsung saja.
pertama kita buat dulu databasenya menggunakan SQLite Manager dengan nama db_kamus_komputer. kemudian kita buat tabel pada database tersebut dengan nama tb_data, dengan cara seperti berikut click Database > Create Table. pada Table Name isi dengan nama tb_data, kemudian isi field - field nya seperti berikut :
Membuat Table |
Kemudian kita isi data nya dengan cara seperti berikut :
Sekarang kita buat aplikasi menggunakan Eclipse, dan berikan nama kamus komputer.
kemudian kita buat class baru untuk kamus komputer, berikan nama kamus.java dan ini isi nya :
package com.example.kamuskomputer;
public class Kamus
{
private String istilah;
private String arti;
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;
}
@Override
public String toString()
{
return this.istilah;
}
selanjutnya adalah class untuk helper untuk SQLite Databasenya.. saya beri nama DatabaseHelper.java
package com.example.kamuskomputer;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.text.TextUtils;
import com.readystatesoftware.sqliteasset.SQLiteAssetHelper;
public class DatabaseHelper extends SQLiteAssetHelper
{
private static final String DB_NAME = "db_kamus_komputer";
private static final int DB_VER = 1;
private static final String TB_DATA = "tb_data";
public static final String COL_ID = "_id";
public static final String COL_ISTILAH = "istilah";
public static final String COL_ARTI = "arti";
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 getAllKamus()
{
List lisKamus = new ArrayList();
Cursor cursor = db.query(TB_DATA, new String[] { COL_ID, COL_ID,
COL_ARTI, 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.setIstilah(cursor.getString(cursor
.getColumnIndexOrThrow(COL_ISTILAH)));
lisKamus.add(kamus);
} while (cursor.moveToNext());
}
return lisKamus;
}
}
selanjutnya silahkan ubah tampilan layout utama anda, activity_main.xml menjadi sebagai berikut :
lalu buat lagi sebuah activity baru yakni ArtiActivity.java yang memiliki kode sebagai berikut :
package com.example.kamuskomputer;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
public class ArtiActivity extends Activity
{
private TextView txtArti, txtIstilah;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_arti);
txtArti = (TextView) findViewById(R.id.arti);
txtIstilah = (TextView) findViewById(R.id.istilah);
Bundle b = getIntent().getExtras();
if (b != null)
{
txtIstilah.setText(b.getString("istilah"));
txtArti.setText(b.getString("arti"));
}
}
}
dan untuk layout activity_arti.xml akan menjadi seperti berikut:
dan terakhir dan yang paling penting adalah berada pada file MainActivity.java rubah menjadi seperti dibawah ini :
package com.example.kamuskomputer;
import java.util.List;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.text.Editable;
import android.text.TextWatcher;
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 adapter;
private List 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(this,
android.R.layout.simple_expandable_list_item_1, listKamus);
lv.setAdapter(adapter);
}
@Override
public void afterTextChanged(Editable arg0)
{
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3)
{
}
@Override
public void onTextChanged(CharSequence s, int arg1, int arg2, int arg3)
{
adapter.getFilter().filter(s.toString());
}
@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());
Intent i = new Intent(this, ArtiActivity.class);
i.putExtras(b);
startActivity(i);
}
}
program ini sudah dapat berjalan dengan baik, semua data di database dapat terload dengan baik, dan fungsi pencarian data juga berjalan sempurna.
sekian pembuatan aplikasi kamus komputer berbasis android menggunakan database sqlite, semoga artikel ini dapat bermanfaat untuk kita semua.
2 komentar:
Mantap gan tutornya. Batu Bungbulang
gan xml nya mana ?
Posting Komentar