java2 micro editon (j2me) 2

22
 Java2 Micro Editon (J2ME) Bagian II By Seno

Upload: jamaludin

Post on 19-Jul-2015

73 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Java2 Micro Editon (J2ME) 2

5/17/2018 Java2 Micro Editon (J2ME) 2 - slidepdf.com

http://slidepdf.com/reader/full/java2-micro-editon-j2me-2 1/22

Java2 Micro Editon (J2ME)

Bagian II

By Seno

Page 2: Java2 Micro Editon (J2ME) 2

5/17/2018 Java2 Micro Editon (J2ME) 2 - slidepdf.com

http://slidepdf.com/reader/full/java2-micro-editon-j2me-2 2/22

Fakultas Teknologi InformasiUniversitas Budi Luhur

Pendahuluan

Membaca file text sering dilakukan dalam sebuahaplikasi, hal ini bertujuan agar text yang dibaca darifile tersebut dapat diubah-ubah sesuai kebutuhantanpa mengubah source code.

Biasanya file text diletakan di folder res.

Dibutuhkan akses ke library java.io yang mendukungpembacaan file text seperti InputStream danStringBuffer.

Dalam pembacaan file text kita perlu meng-import java.io.*;

Buka KToolbar dan buatlah project ReadFileText dankelas ReadFileText  Jika project telah terbentuk, kopikan file text ke

folder res. 

Page 3: Java2 Micro Editon (J2ME) 2

5/17/2018 Java2 Micro Editon (J2ME) 2 - slidepdf.com

http://slidepdf.com/reader/full/java2-micro-editon-j2me-2 3/22

Fakultas Teknologi InformasiUniversitas Budi Luhur

ReadFileText.Javaimport javax.microedition.midlet.*;

import javax.microedition.lcdui.*;public class ReadFileText extends MIDlet {

Display display;ReadFile read;public ReadFileText() {

display = Display.getDisplay(this);

}public void startApp() {read = new ReadFile(this, display);display.setCurrent(read);

}public void pauseApp() {}public void destroyApp(boolean unconditional) {

}public void exitMIDlet() {

destroyApp(false);notifyDestroyed();

}};

Page 4: Java2 Micro Editon (J2ME) 2

5/17/2018 Java2 Micro Editon (J2ME) 2 - slidepdf.com

http://slidepdf.com/reader/full/java2-micro-editon-j2me-2 4/22

Fakultas Teknologi InformasiUniversitas Budi Luhur

ReadFile.javaimport javax.microedition.lcdui.*;

import java.io.*;public class ReadFile extends Form implements CommandListener {

private ReadFileText midlet;private Display display;private Command cmExit;private String help;

private StringItem si;public ReadFile(ReadFileText midlet, Display display) {

super("Read File Text");this.midlet = midlet;this.display = display;if ((help = readHelpText()) != null) {

si = new StringItem("", help);} else

si = new StringItem("Error", "File Help Tidak Ditemukan");append(si);

Page 5: Java2 Micro Editon (J2ME) 2

5/17/2018 Java2 Micro Editon (J2ME) 2 - slidepdf.com

http://slidepdf.com/reader/full/java2-micro-editon-j2me-2 5/22

Fakultas Teknologi InformasiUniversitas Budi Luhur

cmExit = new Command("Keluar", Command.EXIT, 1);

setCommandListener(this);addCommand(cmExit);

}public void commandAction(Command c, Displayable s) {

if (c == cmExit)midlet.exitMIDlet();

}private String readHelpText() {

InputStream is = getClass().getResourceAsStream("help.txt");try { StringBuffer sb = new StringBuffer();

int chr, i = 0;while ((chr = is.read()) != -1)

sb.append((char) chr);return sb.toString();

} catch (Exception e) {}return null;

}};

Page 6: Java2 Micro Editon (J2ME) 2

5/17/2018 Java2 Micro Editon (J2ME) 2 - slidepdf.com

http://slidepdf.com/reader/full/java2-micro-editon-j2me-2 6/22

Fakultas Teknologi InformasiUniversitas Budi Luhur

Commandimport javax.microedition.lcdui.*;

import javax.microedition.midlet.*;public class Login extends MIDlet{

Display display;FormLogin formLogin;public Login(){

display = Display.getDisplay(this);

}public void startApp(){formLogin = new FormLogin(this, display);display.setCurrent(formLogin);

}public void pauseApp(){}public void destroyApp(boolean unconditional){}

public void exitMidlet(){destroyApp(false);notifyDestroyed();

}};

Page 7: Java2 Micro Editon (J2ME) 2

5/17/2018 Java2 Micro Editon (J2ME) 2 - slidepdf.com

http://slidepdf.com/reader/full/java2-micro-editon-j2me-2 7/22

Fakultas Teknologi InformasiUniversitas Budi Luhur

Commandimport javax.microedition.lcdui.*;

class FormLoginextends Formimplements CommandListener{

private Login midlet;private Display display;private Command cmdExit, cmdLogin;private TextField txtUser, txtPasswd;private Alert alertOk, alertGagalUser, alertGagalPass;public FormLogin(Login midlet, Display display){

super("Login");this.display = display;this.midlet = midlet;txtUser = new TextField("User :", "", 10, TextField.ANY);txtPasswd = new TextField("Password :", "", 10, TextField.PASSWORD|TextField.ANY);cmdExit = new Command("Keluar", Command.EXIT, 1);cmdLogin = new Command("Login", Command.OK, 1);alertOk = new Alert("Berhasil", "Anda berhasil login", null, AlertType.INFO);alertGagalUser = new Alert("Gagal", "Anda salah menginput user", null, AlertType.ERROR);

alertGagalPass = new Alert("Gagal", "Anda salah menginput password", null, AlertType.ERROR);append(txtUser);append(txtPasswd);addCommand(cmdLogin);addCommand(cmdExit);setCommandListener(this);

}

Page 8: Java2 Micro Editon (J2ME) 2

5/17/2018 Java2 Micro Editon (J2ME) 2 - slidepdf.com

http://slidepdf.com/reader/full/java2-micro-editon-j2me-2 8/22

Fakultas Teknologi InformasiUniversitas Budi Luhur

Commandpublic void commandAction(Command c, Displayable s){

if (c == cmdExit){midlet.exitMidlet();

}else{if(txtUser.getString().equals("seno")){

if(txtPasswd.getString().equals("seno008")){display.setCurrent(alertOk);

alertOk.setTimeout(Alert.FOREVER);}else{display.setCurrent(alertGagalPass);alertGagalPass.setTimeout(Alert.FOREVER);

}}else{

display.setCurrent(alertGagalUser);

alertGagalUser.setTimeout(Alert.FOREVER);}

}}

}

Page 9: Java2 Micro Editon (J2ME) 2

5/17/2018 Java2 Micro Editon (J2ME) 2 - slidepdf.com

http://slidepdf.com/reader/full/java2-micro-editon-j2me-2 9/22

Fakultas Teknologi InformasiUniversitas Budi Luhur

ChoiceGroup ChoiceGroup adalah object yang digunakan untuk menampilkan

pilihan kepada user. Pendeklarasian:

ChoiceGroup namaCg = new ChoiceGroup(“Label”, JenisPilihan); 

Menambahkan item pilihan: namaCg.append(String pilihan, image);

Beberapa jenis pilihan ChoiceGroup, yakni: Choice.MULTIPLE

User dapat memilih lebih dari 1 pilihan

Choice.EXCLUSIVE User hanya dapat memilih 1 pilihan, dan user harus memilih

Choice.IMPLICIT

User hanya dapat memilih 1 pilihan, dan user tidak harus memilih Choice.POPUP

Sama seperti Choice.IMPLICIT tetapi pilihan ditampilkan mirip sepertiComboBox

Page 10: Java2 Micro Editon (J2ME) 2

5/17/2018 Java2 Micro Editon (J2ME) 2 - slidepdf.com

http://slidepdf.com/reader/full/java2-micro-editon-j2me-2 10/22

Fakultas Teknologi InformasiUniversitas Budi Luhur

Methode-methode pada ChoiceGroup

Methode Keterangan

getString(int pilihan) Mengembalikan String pilihangetSelectedIndex() Mengembalikan nilai int

pilihan terpilih

size() Mengembalikan int jumlah

pilihansetSelectedIndex() Mengatur pilihan terpilih

isSelected(int pilihan) Mengembalikan nilai booleantrue jika pilihan terpilih

Berikut ini adalah beberapa methode ChoiceGroup yang seringdigunakan:

Page 11: Java2 Micro Editon (J2ME) 2

5/17/2018 Java2 Micro Editon (J2ME) 2 - slidepdf.com

http://slidepdf.com/reader/full/java2-micro-editon-j2me-2 11/22

Fakultas Teknologi InformasiUniversitas Budi Luhur

DateField  Adalah elemen untuk menampilkan tanggal dan informasi waktu

dalam object Form. Mode DateField:

DateField.TIME (menampilkan waktu) DateField.DATE(menampilkan tanggal) DateField.DATE_TIME(menampilkan tanggal dan waktu)

Methode : DateField(String label,int mode) membuat DateField baru

dengan mode masukan DateField(String label,int mode,TimeZone timeZone) Membuat

DateField dengan mode masukan dan informasi waktu tertentu Date getDate() Mengembalikan nilai tanggal sekarang void setDate(Date date)Mengeset nilai tanggal pada DateField int getInputMode()Mengembalikan nilai Mode dari DateField void setInputMode(int code)Mengeset mode DateField

Page 12: Java2 Micro Editon (J2ME) 2

5/17/2018 Java2 Micro Editon (J2ME) 2 - slidepdf.com

http://slidepdf.com/reader/full/java2-micro-editon-j2me-2 12/22

Fakultas Teknologi InformasiUniversitas Budi Luhur

Image Merupakan objek untuk menampilkan gambar Pengaturan layout

ImageItem.LAYOUT_DEFAULTimage disusun berdasarkan susunanstandar

ImageItem.LAYOUT_LEFT image disusun rata kiri ImageItem.LAYOUT_RIGHT image disusun rata kanan ImageItem.LAYOUT_CENTER image disusun center

ImageItem.LAYOUT_NEWLINE_BEFORE

image digambar setelah ada garisbaru ImageItem.LAYOUT_NEWLINE_AFTER image digambar sebelum ada garis

baru

Methode: ImageItem(String label,Image img,int layout,String alt)deklarasi image Image getImage() mengembalikan gambar yang terasosiasi dengan

ImageItem void setImage(Image img) mengatur image pada ImageItem int getLayout() mengembalikan nilai layout ImageItem void setLayout() mengatur layout ImageItem String getAltText() mengembalikan nilai alternative text  Void setAletText() mengatut nilai alternative text

Page 13: Java2 Micro Editon (J2ME) 2

5/17/2018 Java2 Micro Editon (J2ME) 2 - slidepdf.com

http://slidepdf.com/reader/full/java2-micro-editon-j2me-2 13/22

Fakultas Teknologi InformasiUniversitas Budi Luhur

StringItem

adalah objek untuk menampilkan sebuahlabel dan sebuah pesan text.

Methode:

StringItem(String label,String text)

Membuat StringItem dengan label dan pesan text.

String getText()

Mengembalikan nilai text pada StringItem

void setText()

Mengeset teks pada StringItem

Menempelkan StringItem pada Form

append(namaStringItem)

Page 14: Java2 Micro Editon (J2ME) 2

5/17/2018 Java2 Micro Editon (J2ME) 2 - slidepdf.com

http://slidepdf.com/reader/full/java2-micro-editon-j2me-2 14/22

Fakultas Teknologi InformasiUniversitas Budi Luhur

Form Kali ini kita akan membuat form sederhana yang berisi inputan

untuk menginput data pribadi. Form ini berisi tiga buah textField untuk inputan Nama

(TextField.ANY), Alamat (TextField.ANY), dan Nomor telepon(TextField.PHONENUMBER).

Form ini juga berisi 2 buah ChoiseGroup, untuk inputan JenisKelamin (Choise.EXCLUSIVE) dan Hobby (Choise.IMPLICIT).

 Ada dua buah Command (Command.OK dan Command.EXIT). Jika Command.OK di klik maka program akan mengecek apakah

data yang diinput sudah benar. Jika sudah benar maka, dataakan disimpan, jika salah maka ada alert yang berisi info agardata diisi dengan benar.

Jika Command.EXIT di klik maka program akan keluar.

Page 15: Java2 Micro Editon (J2ME) 2

5/17/2018 Java2 Micro Editon (J2ME) 2 - slidepdf.com

http://slidepdf.com/reader/full/java2-micro-editon-j2me-2 15/22

Fakultas Teknologi InformasiUniversitas Budi Luhur

Formimport javax.microedition.lcdui.*;import javax.microedition.midlet.*;

public class FormData extends MIDlet{private Display display;private FormIsian form;public FormData(){

display = Display.getDisplay(this);}

public void startApp(){form = new FormIsian(this, display);

display.setCurrent(form);}

public void pauseApp(){}

public void destroyApp(boolean unconditional){}

public void keluar(){destroyApp(false);notifyDestroyed();

}

}

Page 16: Java2 Micro Editon (J2ME) 2

5/17/2018 Java2 Micro Editon (J2ME) 2 - slidepdf.com

http://slidepdf.com/reader/full/java2-micro-editon-j2me-2 16/22

Fakultas Teknologi InformasiUniversitas Budi Luhur

Formimport javax.microedition.lcdui.*;

class FormIsian extends Form implements CommandListener{private Display display;private FormData midlet;private TextField txtNama, txtAlamat, txtTelp;private ChoiceGroup cgJenkel, cgHobby;private Command cmdOk, cmdExit;

public FormIsian(FormData midlet, Display display){

super("Biodata");this.midlet = midlet;this.display = display;txtNama = new TextField( "Nama :", "", 10, TextField.ANY);txtAlamat = new TextField("Alamat:", "", 10, TextField.ANY);txtTelp = new TextField( "Telp :", "", 10, TextField.PHONENUMBER);cgJenkel = new ChoiceGroup("Jenis Kelamin:", Choice.EXCLUSIVE);cgJenkel.append("Pria", null);cgJenkel.append("Wanita", null);

cgHobby = new ChoiceGroup( "Hobby :", Choice.MULTIPLE);cgHobby.append("Bulu Tangkis",null);cgHobby.append("Nonton Film",null);cgHobby.append("Baca Buku",null);cgHobby.append("Main Music",null);

Page 17: Java2 Micro Editon (J2ME) 2

5/17/2018 Java2 Micro Editon (J2ME) 2 - slidepdf.com

http://slidepdf.com/reader/full/java2-micro-editon-j2me-2 17/22

Fakultas Teknologi InformasiUniversitas Budi Luhur

FormcmdOk = new Command("Ok", Command.OK, 1);

cmdExit = new Command("Keluar", Command.EXIT, 1);append(txtNama);append(txtAlamat);append(txtTelp);append(cgJenkel);append(cgHobby);addCommand(cmdOk);addCommand(cmdExit);setCommandListener(this);

}public void commandAction(Command c, Displayable s){

if(c == cmdExit){midlet.keluar();

}else{if (txtNama.getString().equals("") || txtAlamat.getString().equals("") ||

txtTelp.getString().equals("")){display.setCurrent(new Alert("Simpan", "Semua data harus diisi", null, AlertType.INFO));}else{

display.setCurrent(new Alert("Simpan", "Data berhasil disimpan", null, AlertType.INFO));}}}}

Page 18: Java2 Micro Editon (J2ME) 2

5/17/2018 Java2 Micro Editon (J2ME) 2 - slidepdf.com

http://slidepdf.com/reader/full/java2-micro-editon-j2me-2 18/22

Fakultas Teknologi InformasiUniversitas Budi Luhur

Record Management System(RMS)

MIDlet tidak menggunakan file sistem untuk menyimpan data,tetapi menyimpannya di sebuah memory non-volatile yangdisebut dengan RMS.

RMS adalah kumpulan record, dan record disimpan sebagaiarray dari byte dalam sebuah record store.

MIDlet yang berbeda dapat mengakses RMS yang sama.

Record disimpan dalam record store, diakses berdasarkanrecordId yang berupa integer.

RecordId biasanya digunakanuntk mengakses record sepertifungsi indeks pada pengaksesan array.

RecordId

1 Byte 0 Byte 1 . . . Byte n

2 Byte 0 Byte 1 . . . Byte n

. . . . . . Byte n

n Byte 0 Byte 1 . . . Byte n

Page 19: Java2 Micro Editon (J2ME) 2

5/17/2018 Java2 Micro Editon (J2ME) 2 - slidepdf.com

http://slidepdf.com/reader/full/java2-micro-editon-j2me-2 19/22

Fakultas Teknologi InformasiUniversitas Budi Luhur

Methode

Methode Keteranganstatic RecordStore openRecordStore(StringnamaRS, boolean createIfNecessary)

Membuka atau membuat RecordStore

void closeRecordStore(String namaRS) Menutup RecordStore

static void deleteRecordStore(StringnamaRS)

Menghapus RecordStore

static String[] listRecordStore() Mengembalikan list dari recordStore

int addRecord(byte[] data,int offset,int jumlahByte)

Menambahkan record “data” mulai dari “offset” sepanjang “jumlahByte”  

void setRecord(int idRecord,byte[] data,intoffset,int jumByte)

Mengganti record dengan id “idRecord” dengan “data” mulai dari “offset” 

sepanjang “jumByte”  void deleteRecord(int idRecord) Menghapus record dengan id “idRecord”  

byte[] getRecord(int idRecord) Mengembalikan array byte record denganid “idRecord”  

Page 20: Java2 Micro Editon (J2ME) 2

5/17/2018 Java2 Micro Editon (J2ME) 2 - slidepdf.com

http://slidepdf.com/reader/full/java2-micro-editon-j2me-2 20/22

Fakultas Teknologi InformasiUniversitas Budi Luhur

MethodeMethode Keterangan

int getRecord(int idRecord,byte[]buffer,int offset)

Menyalin record dengan id “idRecord” kearray masukan mulai dari index “offset”  

RecordEnumerationenumerateRecords(RecordFilter filter,RecordComparator comparatore,boolean

keepUpdated)

Mengambil enumerasi untuk mengambilrecord dari RecordStore

void addRecordListener(RecordListenerlistener)

Menambahkan listener untuk mendeteksieven yang diakibatkan perubahan record

void removeRecordListener(RecordListener listener)

Menghapus listener

String getName() Mengembalikan namaRecordStore

int getLastModified() Mengembalikan waktu terakhir recorddimodifikasi

int getNumRecords() Mengembalikan jumlah record yangberada pada recordStore

Page 21: Java2 Micro Editon (J2ME) 2

5/17/2018 Java2 Micro Editon (J2ME) 2 - slidepdf.com

http://slidepdf.com/reader/full/java2-micro-editon-j2me-2 21/22

Fakultas Teknologi InformasiUniversitas Budi Luhur

MethodeMethode Keterangan

int getNextRecordID() Mengembalikan id record berikut,biasanya digunakan pada penambahanrecord

int getRecordSize(int idRecord) Mengembalikan nilai ukuran dalambentuk byte pada record dengan id

 “idRecord”  int getSize() Mengembalikan ukuran RecordStore

dalam bentuk byte

int getSizeAvailable() Mengembalikan nilai maksimum ukuranRecordStore yang dapat digunakan

int getVersion() Mengembalikan mengembalikan versi

terakhir dari RecordStore

Page 22: Java2 Micro Editon (J2ME) 2

5/17/2018 Java2 Micro Editon (J2ME) 2 - slidepdf.com

http://slidepdf.com/reader/full/java2-micro-editon-j2me-2 22/22

Fakultas Teknologi InformasiUniversitas Budi Luhur

Exception

Exception Keterangan

InvalidRecordIDException Memberikan pesan error jikarecordId yang dicari tidak ada

RecordStoreException Memberikan pesan error jikaRecordStore penuh

RecordStoreNotFoundException Memberikan pesan error jikaRecordStore yang dicari tidak ada

RecordStoreNotOpenException Memberikan pesan error jikamenutup koneksi RecordStore tanpamembukanya terlebih dahulu