Thursday, December 18, 2008

Hello World MIDlet

Berikut ini merupakan listing program java yang akan menampilkan Alert hello world pada emulator J2ME. Listing program ini dapat ditulis menggunakan editor Textpad ataupun Netbeans. Di bawah ini akan dijelaskan cara kompilasi listing program dengan WTK ataupun dengan menggunakan editor Netbeans secara langsung.

Listing Program HelloMIDlet.java
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class HelloMIDlet extends MIDlet implements CommandListener {
private Alert alert = null;
private Command exit = null;
private Display display = null;

public HelloMIDlet()

{
alert = new Alert("Hello", "Hello World", null, AlertType.INFO);
exit = new Command("EXIT",Command.EXIT,1);
alert.addCommand(exit);
alert.setTimeout(Alert.FOREVER);
alert.setCommandListener(this);
}
public void startApp() {

if(display == null)
{
display = Display.getDisplay(this);
display.setCurrent(alert);
}
}

public void pauseApp() {
}

public void destroyApp(boolean unconditional) {
}

public void commandAction(Command c,Displayable d)
{
if(c == exit)
{
notifyDestroyed();

destroyApp(true);
}
}
}

Penjelasan Listing Program

import javax.microedition.midlet.*; import javax.microedition.lcdui.*;
Kedua package di atas merupakan package utama dalam pembuatan aplikasi MIDlet di J2ME. Dimana di dalam package ini berisi class – class yang menangani user interface pada aplikasi J2ME.

public class HelloMIDlet extends MIDlet implements CommandListener {
untuk membuat aplikasi J2ME maka class yang kita buat harus diturunkan dari class MIDlet. Disini kita menggunakan interface CommandListener karena kita akan menggunakan beberapa tombol untuk mengontrol aplikasi.

private Alert alert = null; private Command exit = null; private Display display = null;


Pada ketiga baris ini kita menyiapkan 3 objek yang akan kita pergunakan dalam aplikasi. Ketiga objek tersebut yaitu alert dipergunakan untuk menampilkan tulisan Hello World, exit merupakan tombol yang dipergunakan untuk keluar dari aplikasi dan display merupakan handle layar utama dari aplikasi J2ME


public HelloMIDlet() {

alert = new Alert("Hello", "Hello World", null, AlertType.INFO); exit = new Command("EXIT",Command.EXIT,1); alert.addCommand(exit); alert.setTimeout(Alert.FOREVER); alert.setCommandListener(this);

}


Blok listing ini merupakan konstruktor yang akan menginisialisasi objek – objek yang akan dipergunakan. Alert akan ditambahkan sebuah tombol exit untuk keluar dari aplikasi. Secara normal selang waktu munculnya alert hanya beberapa detik saja, tetapi dengan kita set waktu timeout alert dengan Alert.FOREVER makan alert akan selalu muncul pada layar aplikasi.

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

Ketiga method diatas merupakan method-method yang harus dioverride / ditulis pada aplikasi. Karena aplikasi MIDlet secara umum digambarkan dengan 3 siklus ini. startApp yaitu pada saat aplikasi mulai berjalan, pauseApp pada saat aplikasi dihentikan sementara dan destroyApp pada saat keluar dari aplikasi.

public void commandAction(Command c,Displayable d) {
if(c == exit) {
notifyDestroyed();

destroyApp(true);
}
}

Method commandAction merupakan method yang harus dioverride karena kita mengimplementasi interface CommandListener. Di dalam method ini kita bisa mendefinisikan aksi – aksi yang harus dilakukan ketika sebuah tombol ditekan.



No comments: