• Tidak ada hasil yang ditemukan

Coba kita sentuh beberapa view, hasilnya ada yang seperti ini

Dalam dokumen AND ROI D FAST T RACK (Halaman 38-120)

Tetapi tentunya kita tidak ingin hanya ditampilan saja yang berubah.

Tentunya kita ingin program juga dapat menangkap apa yang terjadi pada user Interface.

Untuk itu mari kita buka otak dari project kita, yaitu file Main-Activity.java

package net.agusharyanto.basicview;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

public class MainActivity extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.main);

public void onClick(View v) {

radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener()

{

public void onCheckedChanged(RadioGroup group, int checkedId) {

//---displays the ID of the RadioButton that is

toggleButton.setOnClickListener(new View.OnClickListener()

private void DisplayToast(String msg) {

Toast.makeText(getBaseContext(), msg,

Toast.LENGTH_SHORT).show();

} }

Oke mari kita perhatikan code by codenya Button btnOpen = (Button) findViewById(R.id.btnOpen);

btnOpen.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

Toast.makeText(getBaseContext(), "You have clicked the Open button",

Toast.LENGTH_SHORT).show();

} });

Agar sebuah view bisa kita manipulasi (merubah isi, atau men-angkap event) perlu didaftarkan di code activity.

Contoh diatas kita mendaftarkan View (Button) dengan id bt-nOpen kedalam sebuah variable btbt-nOpen. setelah itu kita bisa me-nambahkan listener pada button tersebut, kalau pada code diatas yang kita daftarkan adalah setOnClickListener. Efek yang terjadi adalah apabila btnOpen diklik maka akan mengeksekusi perintah yang ada pada method onClick. Pada kode diatas akan menampilkan popup informasi dalam bentuk Toast

Untuk Button lainnya dan view lainnya silahkan dicoba sendiri.

Dan perhatikan pada method setOnclick dari masing-masing view.

Tugas

Kerjakan tugas-tugas dibawah ini

1. Buatlah aplikasi kalkulator sederhana yang fungsinya menghi-tung dua bilangan seperti dibawah ini

A N D R O I D D ATA B A S E

SQLITE

Sebelumnya kita sudah belajar membuat aplikasi sederhana pada Android, nah sekarang mari kita buat aplikasi yang lebih keren, aplikasi yang menggunakan database SQLite.

SQLITE

Seperti telah dijelaskan diatas database pada android menggun-akan SQLite. Dengan SQLite untuk insert, update dan query data dapat dilakukan dengan syntak SQL.

Untuk itu sebelum melangkah pembuatan aplikasi Android yang memanfatkan firtur SQlite databasenya, kita harus menguasai cara menggunakan SQLite.

Sama seperti database lainnya syntak SQLnya terbagi 2 kategori yaitu syntak untuk Data Definition Language (DDL) dan Data Manip-ulation Language (DML). Bagi yang pernah belajar database pasti tidak asing dengan kedua istilah tersebut.

Sekarang ada pertanyaan nih apa beda DDL dan DML ?

3

Biar mudah dipahami, kalau database itu kita ibaratkan sebuah rumah, maka DDL itu adalah syntax untuk membuat rumah, menam-bah kamar, merumenam-bah bangunan rumah, makanya yang termasuk syn-tak-syantak DDL adalah create table, alter table, drop table.

sedangkan DML adalah syntax untuk mengetahui isi rumah, siapa saja penghuninya, berapa jumlahnya, ada berapa yang pria dan yang wanita, adakah anak-anak dirumah itu.

Makanya yang termasuk syntak-syntak DML adalah insert, up-date, delete, select

Untuk mengetahui lebih lanjut tentang sqlite bisa kunjungi SQL-ite Home Page

K

A M U S

T

I G A

B

A H A S A

(CRUD)

Sekarang mari kita buat project yang menggunakan database sqlite di android. Dulu sebelum pakai android dihandphone yang dulu pasati pernah install kamus inggris Indonesia, yang kita gun-akan untuk mencari terjemahan suatu kata dalam bahasa indonesia ke bahasa inggris dan jerman. Sebetulnya diandroid juga sudah ada yang buat. Tetapi tentunya akan lebih puas jika kita buat sendiri.

Goal dari Aplikasi ini adalah untuk memahami CRUD dbsqlite pada Android.

Berikut langkah-langkahnya

1. Buat project baru android dengan nama Kamus

2. Buat Class baru dengan nama DatabaseHelper.java package net.agusharyanto.kamus;

import android.content.ContentValues;

import android.content.Context;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;

public class DatabaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME =

"dbkamus";

public static final String INGGRIS= "inggris";

public static final String INDONESIA =

"indonesia";

public static final String JERMAN = "JERMAN";

//Constructor DataKamus untuk initiate database

public DatabaseHelper(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, jerman 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");

cv.put(JERMAN, "laufen");

db.insert("kamus", INGGRIS, cv);

cv.put(INGGRIS, "walk");

cv.put(INDONESIA, "jalan");

cv.put(JERMAN, "gehen");

db.insert("kamus", INDONESIA, cv);

cv.put(INGGRIS, "read");

cv.put(INDONESIA, "membaca");

cv.put(JERMAN, "lesen");

db.insert("kamus", JERMAN, cv);

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

// TODO Auto-generated method stub createTable(db);

generateData(db);

}

@Override

public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub //Toast.makeText(getBaseContext(),

"Oncreate", Toast.LENGTH_SHORT).show();

createTable(db);

generateData(db);

} }

Pada class inilah database dibuat dengan nama dbkamus, disini table juga dibuat dengan nama kamus dan diisikan dengan beberapa data.

3. Edit file activity_main.xml pada direktori res/layout lalu ketikan kode berikut

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/andr oid"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="Kamus Inggris Indonesia Jerman"

/>

<TextView

android:id="@+id/TextView01"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Inggris :" >

</TextView>

<EditText

android:id="@+id/txtInggris"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="" >

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:onClick="getTerjemahan"

android:text="Terjemahkan" >

</Button>

<TextView

android:id="@+id/TextView03"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Indonesia :" >

</TextView>

<EditText

android:id="@+id/txtIndonesia"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:editable="false"

android:text="" >

</EditText>

<TextView

android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Jerman" >

</TextView>

<EditText

android:id="@+id/txtJerman"

android:layout_width="fill_parent"

android:layout_height="wrap_content" >

</EditText>

</LinearLayout>

Disini untuk user interface menggunakan linear layout yang did-alamnya ada tiga edit text dan satu button

4. Edit file MainActivity.java yang ada apada direktori src/ lalu ketikan kode berikut

package net.agusharyanto.kamus;

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.Toast;

public class MainActivity extends Activity {

private SQLiteDatabase db = null;

private Cursor kamusCursor = null;

private EditText txtInggris;

private EditText txtIndonesia;

private EditText txtJerman;

private DatabaseHelper datakamus = null;

public static final String INGGRIS = "inggris";

public static final String INDONESIA =

"indonesia";

/** Called when the activity is first created.

*/

@Override

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

datakamus = new DatabaseHelper(this);

db = datakamus.getWritableDatabase();

setContentView(R.layout.activity_main);

txtInggris = (EditText) findViewById(R.id.txtInggris);

txtIndonesia = (EditText) findViewById(R.id.txtIndonesia);

txtJerman = (EditText) findViewById(R.id.txtJerman);

}

public void getTerjemahan(View view) { String bhsindonesia = "";

String bhsjerman="";

String englishword = txtInggris.getText().toString();

kamusCursor = db.rawQuery("SELECT _ID, INGGRIS, INDONESIA, JERMAN "

+ "FROM kamus where INGGRIS='"

+ englishword

+ "' ORDER BY INGGRIS", null);

if (kamusCursor.moveToFirst()) {

for (; !kamusCursor.isAfterLast();

kamusCursor.moveToNext()) {

bhsindonesia = kamusCursor.getString(2);

bhsjerman = kamusCursor.getString(3);

} }else{

Toast.makeText(getBaseContext(),

"Terjemahan Tidak ditemukan", Toast.LENGTH_SHORT).show();

}

txtIndonesia.setText(bhsindonesia);

txtJerman.setText(bhsjerman);

}

@Override

public void onDestroy() { super.onDestroy();

try {

kamusCursor.close();

db.close();

}catch (Exception e){

} }

}

5. Sekarang mari kita run projectnya

Pada isian Inggris ketikan run lalu klik button Terjemahkan.

Coba isi inggris diisi dengan sepatu lalu klik Terjemahkan Coba inggris tidak diisi lalu klik Terjemahkan

6. Oke kita sudah berhasil membuat kamus, sekarang kita ingin menampilkan kata-kata dalam database kedalam list.

7. Buat Layout baru dengan nama row.xml lalu ketikan kode berikut

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout

xmlns:android="http://schemas.android.com/apk/res/andr oid"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="horizontal"

android:paddingBottom="5sp"

android:paddingTop="5sp" >

< TextView

android:id="@+id/inggris"

android:layout_width="100sp"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true" />

< TextView

android:id="@+id/indonesia"

android:layout_width="100sp"

android:layout_height="wrap_content"

android:layout_toRightOf="@+id/inggris" />

< TextView

android:id="@+id/jerman"

android:layout_width="100sp"

android:layout_height="wrap_content"

android:layout_toRightOf="@+id/indonesia" />

</RelativeLayout>

8. Buat Layout baru dengan nama daftarkata.xml lalu ketikan kode berikut

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout

xmlns:android="http://schemas.android.com/apk/res/andr oid"

android:layout_width="match_parent"

android:layout_height="match_parent" >

<TextView

android:id="@+id/textView1"

android:layout_width="100sp"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"

android:layout_alignParentTop="true"

android:text = "Inggris"

android:textSize="20sp" />

<TextView

android:id="@+id/textView2"

android:layout_width="100sp"

android:layout_height="wrap_content"

android:layout_alignParentTop="true"

android:layout_toRightOf="@+id/textView1"

android:text = "Indonesia"

android:textSize="20sp" />

<TextView

android:id="@+id/textView3"

android:layout_width="100sp"

android:layout_height="wrap_content"

android:layout_alignParentTop="true"

android:layout_toRightOf="@+id/textView2"

android:text = "Jerman"

android:textSize="20sp" />

<ListView android:id="@+id/list1"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_weight = "1"

android:layout_alignParentLeft="true"

android:layout_below="@+id/textView1"/>

</RelativeLayout>

9. Buat Class baru dengan nama Daftarkata.java lalu ketikkan kode berikut.

import android.widget.TextView;

public class DaftarKata extends Activity { private DatabaseHelper dbhelper;

private SQLiteDatabase db = null;

private ListView listContent = null;

private Cursor kamusCursor = null;

CustomCursorAdapter adapter;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

dbhelper = new DatabaseHelper(this);

setContentView(R.layout.daftarkata);

listContent = (ListView) findViewById(R.id.list1);

isDataListView();

}

private void isDataListView() { try {

db = dbhelper.getWritableDatabase();

kamusCursor = db.query("kamus", new String[] { "_id", "inggris",

"indonesia", "jerman" },

"_id>0", null, null, null, null);

// startManagingCursor( jasaCursor);

/*

* Create an array to specify the fields we want to display in the

* list (only the

'inggris,indonesia,jerman' column in this case) */

String[] from = new String[] {

"inggris", "indonesia", "jerman" };

/*

* and an array of the fields we want to bind those fieiplds to (in

* this case just the textView 'inggris,indonesia,jerman' from our new row.xml

* layout above) */

int[] to = new int[] { R.id.inggris, R.id.indonesia, R.id.jerman };

/* Now create a simple cursor adapter.. */

adapter = new

CustomCursorAdapter(this, R.layout.row, kamusCursor, from, to);

// listView.setAdapter(adapter);

listContent.setAdapter(adapter);

} catch (Exception e) { e.printStackTrace();

} finally {

if (db != null && db.isOpen()) { db.close();

} }

}

@Override

public void onDestroy() { super.onDestroy();

try {

kamusCursor.close();

} catch (Exception e) { }

}

protected class CustomCursorAdapter extends SimpleCursorAdapter {

private int layout;

private LayoutInflater inflater;

private Context context;

public CustomCursorAdapter(Context context,

int layout, Cursor c,

String[] from, int[] to) { super (context, layout, c, from, to);

this.layout = layout;

this.context = context;

inflater = LayoutInflater.from(context);

}

@Override

public View newView(Context context, Cursor cursor, ViewGroup parent) {

Log.d("NewView", "*****xxx");

View v =

inflater.inflate(R.layout.row, parent, false);

return v;

}

@Override

public void bindView(View v, Context context, Cursor c) {

// 1 is the column where you're getting your data from

String inggris = c.getString(1);

String jerman = c.getString(3);

String indonesia = c.getString(2);

/**

* Next set the name of the entry.

*/

TextView name_text = (TextView) v.findViewById(R.id.inggris);

TextView des_text = (TextView) v.findViewById(R.id.jerman);

TextView id_text = (TextView) v.findViewById(R.id.indonesia);

des_text.setText(jerman);

id_text.setText(indonesia);

if (name_text != null) {

name_text.setText(inggris);

}

} }

}

10. Rubah bagian yang bercetak tebal pada AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<manifest

xmlns:android="http://schemas.android.com/apk/res/andr oid"

package="net.agusharyanto.kamus"

android:versionCode="1"

android:versionName="1.0" >

<uses-sdk

android:minSdkVersion="8"

android:targetSdkVersion="17" />

<application

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

<activity

</application>

</manifest>

11. Sekarang mari kita Run projectnya.

12. Kita sudah sukses menampilkan daftar kata, selanjutnya kita akan menyedian form untuk menambahkan kata.

13. Buat layout baru dengan nama tambahkata.xml selanjutnya ketikan kode berikut

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/andr oid"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text = "Kamus Inggris Indonesia Jerman"

/>

<TextView

android:id="@+id/TextView01"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text = "Inggris :" >

</TextView>

< EditText

android:id="@+id/txtInggris"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="" >

</EditText>

<TextView

android:id="@+id/TextView03"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text = "Indonesia :" >

</TextView>

< EditText

android:id="@+id/txtIndonesia"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="" >

</EditText>

<TextView

android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text = "Jerman" >

</TextView>

< EditText

android:id="@+id/txtJerman"

android:layout_width="fill_parent"

android:layout_height="wrap_content" >

</EditText>

<Button

android:id="@+id/btnTerjemah"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:onClick="saveData"

android:text = "Save Data" >

</Button>

</LinearLayout>

14. Buat class baru dengan nama TambahKata.java package net.agusharyanto.kamus;

public class TambahKata extends Activity{

private SQLiteDatabase db = null;

private EditText txtInggris;

private EditText txtIndonesia;

private EditText txtJerman;

private DatabaseHelper datakamus = null;

public static final String INGGRIS= "inggris";

public static final String INDONESIA =

"indonesia";

public static final String JERMAN = "JERMAN";

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

datakamus = new DatabaseHelper(this);

db = datakamus.getWritableDatabase();

setContentView(R.layout.tambahkata);

txtInggris = (EditText) findViewById(R.id.txtInggris);

txtIndonesia = (EditText) findViewById(R.id.txtIndonesia);

txtJerman = (EditText) findViewById(R.id.txtJerman);

}

public void saveData(View view) { String bhsindonesia = txtIndonesia.getText().toString();;

String bhsjerman=

txtJerman.getText().toString();

String englishword = txtInggris.getText().toString();

ContentValues cv=new ContentValues();

cv.put(INGGRIS, englishword);

cv.put(INDONESIA, bhsindonesia);

cv.put(JERMAN, bhsjerman);

if (db.insert("kamus", INGGRIS, cv)>0){

Toast.makeText(getBaseContext(),

"Save Data Success", Toast.LENGTH_SHORT).show();

}else{

Toast.makeText(getBaseContext(),

"Save Data Fail", Toast.LENGTH_SHORT).show();

}

}

@Override

public void onDestroy() { super.onDestroy();

db.close();

} }

15. Rubah AndroidManifest.xml yang bercetak tebal

<?xml version="1.0" encoding="utf-8"?>

<manifest

xmlns:android="http://schemas.android.com/apk/res/andr

oid"

package="net.agusharyanto.kamus"

android:versionCode="1"

android:versionName="1.0" >

<uses-sdk

android:minSdkVersion="8"

android:targetSdkVersion="17" />

<application

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

<activity

android:name="net.agusharyanto.kamus.TambahKata"

android:label="@string/app_name" >

<intent-filter>

<action

android:name="android.intent.action.MAIN" />

<category

android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

</application>

</manifest>

16. Sekarang mari kita run projectnya.

17. Bagaimana melihat hasilnya ? apa harus rubah AndroidMani-fest.xml. Cara yang lebih baik adalah dengan membuat menu yang dapat mengakses form Terjemahan, Daftar Kata dan Tambah Kata 18. Buat Class baru dengan nama MenuActivity.java lalu ketikkan kode berikut

package net.agusharyanto.kamus;

import android.app.ListActivity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.ArrayAdapter;

import android.widget.ListView;

import android.widget.Toast;

public class MenuActivity extends ListActivity { String[] menuutama = new String[] { "Terjemah Kata", "Tambah Kata",

"Daftar Kata", "Keluar Aplikasi" };

public void onCreate(Bundle icicle) { super.onCreate(icicle);

// Menset nilai array ke dalam list adapater sehingga data pada array

// akan dimunculkan dalam list this.setListAdapter(new

ArrayAdapter<String>(this,

android.R.layout.simple_list_item_1, menuutama));

}

@Override

/**method ini akan mengoveride method onListItemClick yang ada pada class List Activity

* method ini akan d1ipanggil apabilai ada salah satu item dari list menu yang dipilih

*/

protected void onListItemClick(ListView l, View v, int position, long id) {

super.onListItemClick(l, v, position, id);

// Menangkap nilai text yang dklik Object o =

this.getListAdapter().getItem(position);

String pilihan = o.toString();

// Menampilkan hasil pilihan menu dalam bentuk Toast

tampilkanPilihan(pilihan);

}

protected void tampilkanPilihan(String pilihan) { try {

//Intent digunakan untuk sebagai pengenal suatu activity

Intent i = null;

if (pilihan.equals("Terjemah Kata")) {

i = new Intent(this,MainActivity.class);

} else if (pilihan.equals("Tambah Kata")) {

i = new Intent(this, TambahKata.class);

} else if (pilihan.equals("Daftar Kata")) {

i = new Intent(this, DaftarKata.class);

} else if (pilihan.equals("Keluar Aplikasi")) {

finish();

} else {

Toast.makeText(this,"Anda Memilih: " + pilihan + " , Actionnya belum dibuat", Toast.LENGTH_LONG).show();

}

startActivity(i);

} catch (Exception e) { e.printStackTrace();

} }

}

19. Pada AndroidManifest.xml rubah dan tambahkan yang bercetak tebal

<?xml version="1.0" encoding="utf-8"?>

<manifest

xmlns:android="http://schemas.android.com/apk/res/andr oid"

package="net.agusharyanto.kamus"

android:versionCode="1"

android:versionName="1.0" >

<uses-sdk

android:minSdkVersion="8"

android:targetSdkVersion="17" />

<application

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

<activity

android:name="net.agusharyanto.kamus.MenuActivity"

android:label="@string/app_name" >

<intent-filter>

<action

android:name="android.intent.action.MAIN" />

<category

android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

<activity android:name="MainActivity"

android:label="Terjemah Kata">

</activity>

<activity android:name="DaftarKata"

android:label="Daftar Kata">

</activity>

<activity android:name="TambahKata"

android:label="Tambah Kata">

</activity>

</application>

</manifest>

20. Sekarang mari kita run projectnya

Klik masing-masing menu.

21. Sekarang kita melangkah kebagian Rubah data dan Hapus data.

Pasti kita memikirkan bagaiman cara menempatkan Edit dan Hapus ini. Aha kita letakan saja di DaftarKata. Jadi ketika satu baris kata di klik lama (long click) akan memunculkan menu edit dan hapus.

22. Buka file String.xml pada direktori value ketikan kode berikut

<?xml version="1.0" encoding="utf-8"?>

<resources>

<string name="app_name">Kamus</string>

<string name="action_settings">Settings</string>

<string name="hello_world">Hello world!</string>

<string name="ok">OK</string>

<string name="save">Simpan</string>

<string name="cancel">Cancel</string>

<string name="add_title">Edit Kamus</string>

<string name="delete_title">Hapus Kamus, And yakin ?</string>

</resources>

23. Tambahkan layout untuk edit data beri nama edit.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/andr oid"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

<TextView

android:id="@+id/TextView01"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text = "Inggris :" >

</TextView>

< EditText

android:id="@+id/inggris"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="" >

</EditText>

<TextView

android:id="@+id/TextView03"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text = "Indonesia :" >

</TextView>

< EditText

android:id="@+id/indonesia"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="" >

</EditText>

<TextView

android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text = "Jerman" >

</TextView>

< EditText

android:id="@+id/jerman"

android:layout_width="fill_parent"

android:layout_height="wrap_content" >

</EditText>

</LinearLayout>

24. Buka kembali file DaftarKata.java lalu ketikan kode berikut

24. Buka kembali file DaftarKata.java lalu ketikan kode berikut

Dalam dokumen AND ROI D FAST T RACK (Halaman 38-120)

Dokumen terkait