Saya akan buat project yang menggunakan
database sqlite di android. Dulu sebelum pakai android dihandphone yang dulu
pasati pernah install kamus inggris Indonesia, yang kita gunakan untuk mencari
terjemahan suatu kata dalam bahasa inggris ke bahasa Indonesia. Sebetulnya
diandroid juga sudah ada yang buat. Tetapi tentunya akan lebih puas jika kita
buat sendiri.
Dan Blog ini saya buat untuk tugas UTS pada mata kuliah Mobile Programming
Yang di Bimbing Oleh Bpk. Agus Suharto.M.Kom
Dan Blog ini saya buat untuk tugas UTS pada mata kuliah Mobile Programming
Yang di Bimbing Oleh Bpk. Agus Suharto.M.Kom
Langkah-langkahnya
:
1.
Buat New Project dengan nama App Kamus B.Inggris - Indonesia, lengkapi seperti
gambar dibawah
2.
Untuk selanjutnya pada pilihan create launcher icon dan create activity kita
centang, agar aplikasi yang kita buat ada icon dan ada aktivitasnya. Klik
centang juga pada create Project in Workplace untuk menyimpan objek aplikasi
kita.
3.
Selanjutnya akan ada menu pilihan icon. Di sebelah kanan akan muncul besarnya
icon saat di install di android kita. Kita bisa mengubahnya dengan clip art
atau text pada pilihan Clipart / text diatas. Atau kita juga bisa gunakan
gambar kita dengan mengupload dari komputer atau dati internet. Untuk mengubah
besarnya ukuran gambar geser Additional padding. Sedangkan Crop dan center
menyesuaikan icon kita. Sebaiknya pilih center agar logo android kita tidak
terpotong. Setelah itu kita bisa tambahkan bentuk icon dan background colour
untuk mempercantik logo icon aplikasi kita.
4. Selanjutnya centang create activity. Dan
mulai dengan Blank Activity.
5.
untuk membuat user interfacenya, buka file activity_main.xml (desain form login) lalu ketikkan 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" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Form Login"
android:textAppearance="?android:attr/textAppearanceMedium"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/linearLayout1"
android:orientation="vertical" >
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="User Name" />
<EditText
android:id="@+id/userNameEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="User Name" >
<requestFocus />
</EditText>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/linearLayout2"
android:orientation="vertical" >
<TextView
android:id="@+id/textView3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Password" />
<EditText
android:id="@+id/passwordEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:inputType="textPassword" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/linearLayout3" >
<Button
android:id="@+id/loginButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="3"
android:text="Login" />
<Button
android:id="@+id/tutupButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Tutup" />
</LinearLayout>
</RelativeLayout>
hasilnya akan seperti ini
6. Buat lagi activity baru dengan MenuActivity, lalu cari file xml nya, dengan nama activity_menu.xml dan masukan kode berikut :
<?xml version="1.0"
encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Kamus
Inggris Indonesia" />
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Inggris - Indonesia" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Indonesia - Inggris" />
</RadioGroup>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Input" />
<EditText
android:text=""
android:id="@+id/txtInggris"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</EditText>
<Button
android:text="Terjemahkan"
android:id="@+id/btnTerjemah"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="getTerjemahan">
</Button>
<TextView
android:id="@+id/TextView03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hasil" >
</TextView>
<EditText
android:text=""
android:id="@+id/txtIndonesia"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:editable="false">
</EditText>
<Button
android:id="@+id/kembaliButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Kembali
Login" />
</LinearLayout>
Hasil nya akan seperti ini
<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" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="User name atau password salah"
android:textAppearance="?android:attr/textAppearanceMedium"
/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/linearLayout1" >
<Button
android:id="@+id/kembaliButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Kembali" />
</LinearLayout>
</RelativeLayout>
Hasilnya akan seperti ini
package com.lutfi.appkamusb.inggris_indonesia;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import
android.database.sqlite.SQLiteOpenHelper;
public class DataKamus extends SQLiteOpenHelper
{
private
static final String DATABASE_NAME = "dbkamus";
public
static final String INGGRIS= "inggris";
public
static final String INDONESIA = "indonesia";
//Constructor DataKamus untuk initiate
database
public
DataKamus(Context context) {
super(context, DATABASE_NAME, null, 1);
}
//method
createTable untuk membuat table kamus
public
void createTable(SQLiteDatabase db){
db.execSQL("DROP TABLE IF EXISTS kamus");
db.execSQL("CREATE TABLE if not exists kamus "
+ "(id
INTEGER PRIMARY KEY AUTOINCREMENT, inggris TEXT, indonesia TEXT);");
}
//method
generateData untuk mengisikan data ke kamus.
public
void generateData(SQLiteDatabase db){
ContentValues cv=new ContentValues();
cv.put(INGGRIS, "run");
cv.put(INDONESIA, "lari");
db.insert("kamus", INGGRIS, cv);
cv.put(INGGRIS, "walk");
cv.put(INDONESIA,
"jalan");
db.insert("kamus", INGGRIS, cv);
cv.put(INGGRIS, "read");
cv.put(INDONESIA, "membaca");
db.insert("kamus", INGGRIS, cv);
cv.put(INDONESIA, "lari");
cv.put(INGGRIS, "run");
db.insert("kamus", INDONESIA, cv);
cv.put(INDONESIA,
"jalan");
cv.put(INGGRIS, "walk");
db.insert("kamus", INDONESIA, cv);
cv.put(INDONESIA, "membaca");
cv.put(INGGRIS, "read");
db.insert("kamus", INDONESIA, cv);
}
@Override
public
void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO
Auto-generated method stub
}
@Override
public
void onCreate(SQLiteDatabase db) {
// TODO
Auto-generated method stub
}
}
9. lalu masukan sorce code pada MainActivity.java untuk Login
package com.lutfi.appkamusb.inggris_indonesia;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
public class MainActivity extends Activity
implements OnClickListener{
private String[][] dataUser =
{{"ADMIN","ADMIN","Administrator"},
{"user1","password1","Nama
User 1"},
{"user2","password2","Nama
User 2"}};
private EditText userNameET,
passwordET;
private final int SUCCESS=1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
userNameET = (EditText) findViewById(R.id.userNameEditText);
passwordET = (EditText) findViewById(R.id.passwordEditText);
findViewById(R.id.loginButton).setOnClickListener(this);
findViewById(R.id.tutupButton).setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main,
menu);
return true;
}
public void onClick(View v) {
//
TODO Auto-generated method stub
switch
(v.getId()){
case
R.id.loginButton:
int
i=0;
boolean
success=false;
while
((i<dataUser.length) && (!success)){
if
((userNameET.getText().toString().equals(dataUser[i][0]))
&&
(passwordET.getText().toString().equals(dataUser[i][1]))){ success=true;
}
else {
i++;
}
}
Intent
intent;
if
(success){
intent
= new Intent(this, MenuActivity.class); intent.putExtra("namaUser",
dataUser[i][2]);
startActivityForResult(intent,SUCCESS);
}
else {
intent
= new Intent(this, FailedActivity.class);
startActivity(intent);
}
startActivity(intent);
break;
case
R.id.tutupButton:
System.exit(0);
}
}
@Override
public void onActivityResult(int
requestCode, int resultCode, Intent data){
switch
(requestCode) {
case
SUCCESS:
userNameET.setText("");
passwordET.setText("");
break; }
}
}
10. masukan lagi sorce code untuk kamusnya pada MenuActivity.java
package com.lutfi.appkamusb.inggris_indonesia;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.TextView;
public class MenuActivity extends Activity {
private
SQLiteDatabase db = null;
private
Cursor kamusCursor = null;
private
EditText txtInggris;
private
EditText txtIndonesia;
private
DataKamus datakamus = null;
public
static final String INGGRIS = "inggris";
public
static final String INDONESIA = "indonesia";
RadioButton radioButton1;
RadioButton
radioButton2;
/**
Called when the activity is first created. */
@Override
public
void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
datakamus = new DataKamus(this);
db =
datakamus.getWritableDatabase();
datakamus.createTable(db);
datakamus.generateData(db);
setContentView(R.layout.activity_menu);
txtInggris = (EditText) findViewById(R.id.txtInggris);
txtIndonesia = (EditText) findViewById(R.id.txtIndonesia);
radioButton1 = (RadioButton)findViewById(R.id.radioButton1);
radioButton2 = (RadioButton)findViewById(R.id.radioButton2);
}
public void onClick(View v){
if(radioButton1.isChecked()){
btnTerjemahInputToHasil();
}
if(radioButton2.isChecked()){
btnTerjemahHasilToInput();
}
}
private
void btnTerjemahHasilToInput() {
double val =
Double.parseDouble(txtInggris.getText().toString());
txtIndonesia.setText(Double.toString(val));
//
TODO Auto-generated method stub
}
private void btnTerjemahInputToHasil() {
double
val = Double.parseDouble(txtIndonesia.getText().toString());
txtInggris.setText(Double.toString(val));
//
TODO Auto-generated method stub
}
public void getTerjemahan(View view) {
String
result = "";
String
englishword = txtInggris.getText().toString();
kamusCursor = db.rawQuery("SELECT ID, INGGRIS, INDONESIA "
+
"FROM kamus where INGGRIS='" + englishword
+
"' ORDER BY INGGRIS", null);
if
(kamusCursor.moveToFirst()) {
result
= kamusCursor.getString(2);
for (;
!kamusCursor.isAfterLast(); kamusCursor.moveToNext()) {
result = kamusCursor.getString(2);
}
}
String
indonesiaword = txtIndonesia.getText().toString();
kamusCursor = db.rawQuery("SELECT ID, INDONESIA, INGGRIS "
+
"FROM kamus where INDONESIA='" + englishword
+
"' ORDER BY INDONESIA", null);
if (kamusCursor.moveToFirst())
{
result
= kamusCursor.getString(2);
for (;
!kamusCursor.isAfterLast(); kamusCursor.moveToNext()) {
result = kamusCursor.getString(2);
}
}
if
(result.equals("")) {
result
= "Terjemahan Not Found";
}
txtIndonesia.setText(result);
}
@Override
public
void onDestroy() {
super.onDestroy();
kamusCursor.close();
db.close();
}
public
void onClick1(View v) {
//
TODO Auto-generated method stub
switch
(v.getId()){
case
R.id.kembaliButton:
finish();
}
}
}
11. terakhir masukan sorce code nya jika login gagal pada FailedActivity.java
package com.lutfi.appkamusb.inggris_indonesia;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
public class FailedActivity extends Activity
implements OnClickListener{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_failed);
findViewById(R.id.kembaliButton).setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.failed,
menu);
return true;
}
public void onClick(View v) {
//
TODO Auto-generated method stub
switch
(v.getId()){
case
R.id.kembaliButton:
finish();
}
}
}
12. Setelah selesai semua kemudian di Run, Hasil run nya seperti di bawah ini
NOTE : Untuk Login Username : user1
Password : password1
Demikian tutorial membuat aplikasi sederhana Kamus Berbasis Android, jika ada yang salah atau kekurangan mohon di maafkan, karna saya masih dalam tahap belajar.
Terima Kasih
No comments:
Post a Comment