MIDlet 是 MIDP 應用程式的基本執行單元,所有 MIDlet 必須繼承 javax.microedition.midlet.MIDlet。該類別定義三個抽象方法控制生命週期:
startApp():啟動或重新啟動pauseApp():暫停destroyApp(boolean unconditional):銷毀應用程式管理器 (AMS) 透過這三個方法管理 MIDlet 狀態轉換。編寫 MIDlet 時必須實作這三個方法。
import javax.microedition.midlet.*;
public class MyMIDlet extends MIDlet {
public MyMIDlet() {} // 無參建構子,必要時顯式撰寫
protected void startApp() {}
protected void pauseApp() {}
protected void destroyApp(boolean unconditional) {}
}
注意事項:
public static void main(String[] args),AMS 會忽略,MIDP 規範禁止。import javax.microedition.midlet.*;File → New → Other → J2ME → J2ME Midlet Suite
專案名:HelloMidlet
平台:選擇 J2ME Wireless Toolkit 2.2 MIDP 2.0 Platform
File → New → Other → J2ME → J2ME Midlet
來源資料夾自動帶入 HelloMidlet,名稱輸入 HelloMidlet,其餘預設。EclipseMe 會自動生成框架程式碼。
package demo;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.lcdui.*;
public class HelloMidlet extends MIDlet {
private Display display;
private Form form;
public HelloMidlet() {
super();
display = Display.getDisplay(this);
form = new Form("HelloMidlet");
form.append("Welcome to J2ME World!");
}
protected void startApp() throws MIDletStateChangeException {
display.setCurrent(form);
}
protected void pauseApp() {}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {}
}
程式碼前出現錯誤圖示時,選單 Source → Organize Imports,Eclipse 會自動補上:
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
Run → Run… → 左側右鍵 Wireless Toolkit Emulator → New,裝置選 DefaultColorPhone(彩螢模擬),點擊 Run。模擬器螢幕將顯示「Welcome to J2ME World!」。
Display.getDisplay(this) 取得顯示控制權setCurrent(Displayable) 切換當前顯示畫面Form 為高階 UI 元件,可包含字串、影像、項目等此範例雖簡單,但完整展示了 MIDlet 初始化、UI 建立、顯示切換的標準流程,是所有 J2ME 應用的基石。