java2 micro editon (j2me) 2
TRANSCRIPT
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
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.
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();
}};
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);
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;
}};
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();
}};
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);
}
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);}
}}
}
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
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:
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
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
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)
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.
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();
}
}
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);
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));}}}}
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
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”
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
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
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