Skip to main content

Source code android untuk membuat kamus

Pada post kali ini saya akan membahasa bagaimana membuat Aplikasi Kamus Android. Sebelum terjun dalam pembuatan aplikasinya di eclipse, kita akan membuat sebuah database sqlite dulu, yang berisi data untuk kamus kita, dalam project ini saya akan membuat kamus sederhana tentang komputer, jadi data yang ada berupa istilah2 dalam komputer, misal processor, maka akan ada deskripsi processor itu apa.

Feature Aplikasi ini
~ Search data (wajib jika anda membuat aplikasi kamus)
~ Database on asset (database berada pada folder asset, tidak generate data pada class tersendiri)
~ next by request :D

Untuk membuat database sqlite saya menggunakan add ons pada Firefox yang bernama SQLite Manager
Contoh Aplikasi Kamus Android

Kemudian selanjutnya buatlah sebuah database..
Contoh Aplikasi Kamus Android

pada contoh kali ini saya beri nama db_kamus_komputer, lalu pilih tempat penyimpanan, kemudian buatlah sebuah table baru..

Contoh Aplikasi Kamus Android

dengan column2 sebagai berikut

Contoh Aplikasi Kamus Android

kemudian coba isikan data,,
Contoh Aplikasi Kamus Android

kemudian coba tutup SQLite Manager kamu, kemudian coba buka ulang kembali database yang baru saja kita buat, untuk mengecek apakah data yang kita inputkan tadi kesimpan atau tidak

Selanjutnya buat project android baru..
Contoh Aplikasi Kamus Android

Contoh Aplikasi Kamus Android

karena dsini program kita sudah memiliki database jadi maka kita akan membutuhkan sebuah library bantuan..
yang bernama sqliteassethelper

Download as zip, kemudian extrack maka kamu akan menemukan file jar berada pada folder lib

Contoh Aplikasi Kamus Android

kemudian copykan file .jar tersebut kedalam folder libs project kamu
Contoh Aplikasi Kamus Android

Selanjutnya masuk ke properties project kamu, kemudian pilih java build path, lalu tab libraries, kemudian add jar,

tambahkan file jar yang ada pada folder libs tadi..

Contoh Aplikasi Kamus Android

Selanjutnya adalah sisi codingnya.. :)

Pertama kita akan membuat class entity untuk kamus kita.. saya beri nama Kamus.java, entity ini berisi field yang ada pada database..


?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package id.pratamawijaya.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
yang perlu anda perhatikan disini adalah pada variable DB_NAME, isi variable ini harus nama database yang ada pada folder asset anda.. pada contoh ini saya sebelumnya membuat sebuah database sqlite dengan nama db_kamus_helper, maka pada variable DB_NAME akan saya isi db_kamus_helper, oke paham kan..?

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
package id.pratamawijaya.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<kamus> getAllKamus()
 {
  List<kamus> lisKamus = new ArrayList<kamus>();
 
  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;
 
 }
}
 
</kamus></kamus></kamus>

selanjutnya silahkan ubah tampilan layout utama anda,, activity_main.xml menjadi sebagai berikut
?
1
2
3
4
5
6
7
8
9
10
<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" tools:context=".MainActivity">
 
    <edittext android:id="@+id/search" android:layout_width="match_parent" android:layout_height="wrap_content" android:drawableright="@android:drawable/ic_search_category_default" android:hint="Search...">
 
    <listview android:id="@+id/lv_data" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/search">
    </listview>
 
    <textview android:id="@+id/empty" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/lv_data" android:layout_marginleft="20dp" android:text="Data yang anda cari tidak ada">
 
</textview></edittext></relativelayout>

lalu buat lagi sebuah activity baru yakni ArtiActivity.java yang memiliki kode sebagai berikut

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package id.pratamawijaya.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

?
1
2
3
4
5
6
7
8
9
<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">
 
    <view android:id="@+id/garis" android:layout_width="match_parent" android:layout_height="1dp" android:layout_below="@id/istilah" android:layout_marginbottom="20dp" android:background="#000">
 
    <textview android:id="@+id/arti" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/garis" android:text="arti">
 
</textview></view></textview></relativelayout>

dan terakhir dan yang paling penting adalah berada pada file MainActivity.java rubah menjadi seperti dibawah ini

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package id.pratamawijaya.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<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 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);
 
 }
 
}
 
</kamus></kamus></kamus>


program ini sudah dapat berjalan dengan baik.. semua data di database dapat terload dengan baik.. dan fungsi pencarian data juga berjalan sempurna..

Contoh Aplikasi Kamus Android

Contoh Aplikasi Kamus Android

Contoh Aplikasi Kamus Android

untuk penambahan data kamus yang baru.. anda dapat menambahkan data kamus menggunakan sqlite browser... buka file db_kamus_komputer.sqlite kemudian tambahkan data yang ingin ditambahkan.. selanjutnya adalah zip file sqlite.. overwrite file yang ada pada asset.. untuk menjalankan di device/emulator.. jangan lupa di Clear Data, kenapa harus clear data, agar database pada apps diganti dengan database baru yang baru saja kita tambahkan..

berikut screenshot setelah ditambah data

Contoh Aplikasi Kamus Android

Note : berani copas artikel dari sini trus dipost di blog pribadi tanpa izin saya,, saya doain gak bisa ngoding lagi.. :p

Comments

Popular posts from this blog

Membuat topologi jaringan menggunakan routing static dengan cisco packet tracer

  Apa yang dimaksud routing static ? Static Routing atau Routing statis adalah sebuah router yang memiliki tabel routing statik yang di setting secara manual oleh para administrator jaringan. Routing static merupakan pengaturan paling sederhana dalam suatu jaringan komputer. Nah, disini kita akan belajar contoh penggunaan dari routing static tersebut. Contohnya seperti yang akan kita lakukan dibawah, selamat belajarr :) Buka aplikasi cisco packet tracer kemudian kita letakkan 2 router, 2 switch dan terdapat 2 PC pada masing-masing router. Pada gambar dibawah, hubungkan PC dengan Switch dan Router dengan Switch. Untuk menghubungkan Router dengan Router kita menggunakan kabel Cross. Pada gambar dibawah terdapat beberapa kab e l untuk menghubungkan sebuah jaringan yang bisa dilihat di cisco packet tracer. Namun untuk menghubungkan perangkat yang berbeda device, contohnya seperti PC dan Switch digunakan kabel Straight, namun jika perangkat sama seperti Router dengan router maka digunakan k

Tipe-Tipe Cewek Berdasarkan Lama Balas Di Chat WA

Cewek atau wanita adalah makhluk Tuhan paling rumit untuk dimengerti dan paling sulit untuk ditebak apa yang ada pada fikirannya . Makhluk yang memiliki slogan “ Cewek Selalu Benar dan Cowok Selalu Salah “  dari sebagian cewek itu adalah salah tapi sebagian besar cewek percaya dengan slogan itu yang membuat nya lebih percaya diri untuk menghukum lawan jenis atau cowok yang sedang memiliki hubungan asmara atau pun tidak tapi setidaknya slogan itu sebagai tameng atau penghalang terbaik untuk wanita agar bebas dari jerat seorang lelaki. Berikutnya slogan “ Cewek itu Rumit “ .. iya kan bener itu . Menurut penulis itu memang benar sampai ada meme yang bertuliskan bahwa trik atau tips untuk mengertiin wanita adalah seperti kamus inggiis-indonesia yang 3 miliar kata .. tebal banget dan panjang banget ..iya kan cewek seperti iitu .. hehehe yang cewek saya minta map ya  :D :D Oke kita bahas tipe cewek berdasarkan lama bales chat nya kepada kita .. ayooo capcussss.. !!! 1.