Java2 Micro Edition atau yang biasa disebut J2ME adalah lingkungan pengembangan yang didesain untuk meletakkan perangkat lunak Java pada barang elektronik beserta perangkat pendukungnya. Pada J2ME, jika perangkat lunak berfungsi baik pada sebuah perangkat maka belum tentu juga berfungsi baik pada perangkat yang lainnya. J2ME membawa Java ke dunia informasi, komunikasi, dan perangkat komputasi selain perangkat komputer desktop yang biasanya lebih kecil dibandingkan perangkat komputer desktop. J2ME biasa digunakan pada telepon selular, pager, personal digital assistants (PDA) dan sejenisnya.
Teknologi J2ME juga memiliki beberapa keterbatasan jika diaplikasikan pada ponsel. J2ME sangat bergantung pada device yang digunakan, bisa dari merk ponsel, maupun kemampuan ponsel, dan dukungan terhadap teknologi J2ME. MIsalnya, jika sebuah ponsel tidak memiliki kamera maka jelas J2ME pada
ponsel tersebut tidak dapat mengakses kamera.
MIDlet
MIDlet adalah aplikasi yang ditulis untuk MIDP. Aplikasi MIDlet adalah bagian dari class javax.microedition.midlet.MIDlet yang didefinisikan pada MIDP. MIDlet berupa sebuah class abstrak yang merupakan subclass dari bentuk dasar aplikasi sehingga antarmuka antara aplikasi J2ME dan aplikasi manajemen pada perangkat bisa terbentuk.
• Daur hidup MIDlet
MIDlet terdiri dari beberapa method yang harus ada, yaitu contructor(), protected void startApp() throws MIDletStateChangeException, protected void pauseApp(), protected void destroyApp (Boolean unconditional) throws MIDletStateChangeException
Ketika MIDlet dijalankan maka akan diinisialisasi dengan kondisi pause dan dijalankan pauseApp(), kondisi berikutnya adalah fungsi MIDlet dijalankan, yaitu pada startApp().
output:-
/*
* To change this
template, choose Tools | Templates
* and open the
template in the editor.
*/
package hello;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
/**
* @author khoirul
anwar
*/
public class Midlet extends MIDlet implements
CommandListener {
private
Display display;
private Form
fmDataPribadi;
private Form
fmHasil;
private
Command cmOk;
private
Command cmExit;
private
Command cmBack;
private
TextField tfNama;
private
TextField tfNIM;
private
TextField tfTmptLahir;
private
TextField tfTglLahir;
private
TextField tfAlamat;
private
ChoiceGroup cgProdi;
private int
choiceGroupIndex;
private
StringItem siNama, siNIM, siAlamat, siTmptLhr, siTglLhr, siProdi;
private
boolean midletPaused = false;
//<editor-fold
defaultstate="collapsed" desc=" Generated Fields ">
//</editor-fold>
/**
* The tugas
constructor.
*/
public Midlet() {
}
//<editor-fold
defaultstate="collapsed" desc=" Generated Methods
">
//</editor-fold>
//<editor-fold
defaultstate="collapsed" desc=" Generated Method: initialize
">
/**
* Initilizes the
application.
* It is called
only once when the MIDlet is started. The method is called before the
<code>startMIDlet</code> method.
*/
private void
initialize() {
// write pre-initialize user code here
// write
post-initialize user code here
}
//</editor-fold>
//<editor-fold
defaultstate="collapsed" desc=" Generated Method: startMIDlet
">
/**
* Performs an
action assigned to the Mobile Device - MIDlet Started point.
*/
public void
startMIDlet() {
// write pre-action user code here
// write
post-action user code here
}
//</editor-fold>
//<editor-fold
defaultstate="collapsed" desc=" Generated Method: resumeMIDlet
">
/**
* Performs an
action assigned to the Mobile Device - MIDlet Resumed point.
*/
public void
resumeMIDlet() {
// write
pre-action user code here
// write
post-action user code here
}
//</editor-fold>
//<editor-fold
defaultstate="collapsed" desc=" Generated Method:
switchDisplayable ">
/**
* Switches a
current displayable in a display. The <code>display</code> instance
is taken from <code>getDisplay</code> method. This method is used
by all actions in the design for switching displayable.
* @param alert
the Alert which is temporarily set to the display; if
<code>null</code>, then <code>nextDisplayable</code> is
set immediately
* @param nextDisplayable
the Displayable to be set
*/
public void
switchDisplayable(Alert alert, Displayable nextDisplayable) {
// write
pre-switch user code here
Display
display = getDisplay();
if (alert ==
null) {
display.setCurrent(nextDisplayable);
} else {
display.setCurrent(alert, nextDisplayable);
}
// write
post-switch user code here
}
//</editor-fold>
/**
* Returns a
display instance.
* @return the
display instance.
*/
public Display
getDisplay () {
return
Display.getDisplay(this);
}
public void
startApp(){
display = Display.getDisplay(this);
//membuat tombol
cmExit
= new Command("Exit", Command.EXIT, 0);
cmOk = new Command("Ok",
Command.SCREEN, 0);
cmBack
= new Command("Back", Command.BACK, 0);
tfNama
= new TextField("Nama: ", "", 30, TextField.ANY);
tfNIM
= new TextField("NIM :", "", 30, TextField.ANY);
tfAlamat = new TextField ("Alamat :", "", 30,
TextField.ANY);
tfTmptLahir = new TextField("Tempat Lahir: ", "",
30, TextField.ANY);
tfTglLahir = new TextField("Tanggal Lahir: ", "",
30, TextField.ANY);
cgProdi = new ChoiceGroup("Prodi", Choice.EXCLUSIVE);
cgProdi.append("Teknik Komputer", null);
cgProdi.append("Manajement Informatika", null);
fmDataPribadi =
new Form("Data Pribadi");
fmDataPribadi.addCommand(cmExit);
fmDataPribadi.addCommand(cmOk);
fmDataPribadi.append(tfNama);
fmDataPribadi.append(tfNIM);
fmDataPribadi.append(tfAlamat);
fmDataPribadi.append(tfTmptLahir);
fmDataPribadi.append(tfTglLahir);
choiceGroupIndex = fmDataPribadi.append(cgProdi);
fmDataPribadi.setCommandListener(this);
fmHasil = new Form("Profile Anda");
siNama
= new StringItem("Nama: ", null);
siNIM
= new StringItem ("NIM : ", null);
siAlamat = new StringItem ("Alamat : ", null);
siTmptLhr = new
StringItem("Tempat Lahir: ", null);
siTglLhr = new StringItem("Tanggal Lahir: ", null);
siProdi = new StringItem("Prodi: ", null);
fmHasil.append(siNama);
fmHasil.append(siNIM);
fmHasil.append(siAlamat);
fmHasil.append(siTmptLhr);
fmHasil.append(siTglLhr);
fmHasil.append(siProdi);
fmHasil.addCommand(cmBack);
fmHasil.setCommandListener(this);
display.setCurrent(fmDataPribadi);
}
public void
pauseApp(){
}
public void
destroyApp(boolean unconditional){
}
public void
commandAction(Command c, Displayable d){
//variable
string untuk menampung inputan user
String
nama,nim,alamat,tmptlhr,tgllhr,prodi = null;
//jika
tombol/command OK ditekan
if(c
== cmOk){
//mendapatkan inputan user
nama = tfNama.getString();
nim = tfNIM.getString();
alamat = tfAlamat.getString();
tmptlhr = tfTmptLahir.getString();
tgllhr = tfTglLahir.getString();
prodi = cgProdi.getString(cgProdi.getSelectedIndex());
siNama.setText(nama);
siNIM.setText(nim);
siAlamat.setText(alamat);
siTmptLhr.setText(tmptlhr);
siTglLhr.setText(tgllhr);
siProdi.setText(prodi);
display.setCurrent(fmHasil);
} else
if(c == cmExit){
destroyApp(true);
notifyDestroyed();
} else
if(c == cmBack){
display.setCurrent(fmDataPribadi);
}}
}
0 komentar:
Posting Komentar