J2ME 開發第一課:從零建置開發環境,理解 CLDC/MIDP 雙層架構、MIDlet 核心類別與生命週期,為後續實戰奠基。
java.lang/io/util + javax.microedition.io)javax.microedition.midlet.MIDlet 的應用程式主類別,對應 Applet/Servlet 概念javac 編譯器)preverify)midp、類庫)
C:\jdk1.3 ← JDK
C:\j2me\J2ME_cldc ← CLDC
C:\j2me\midp-fcs ← MIDP
| 變數 | 值 (依上述路徑) |
|---|---|
| PATH | %PATH%;C:\jdk1.3\bin;C:\j2me\J2ME_cldc\bin;C:\j2me\midp-fcs\bin |
| CLASSPATH | .;C:\j2me\midp-fcs\classes |
| SCREEN_DEPTH | 8 (256 色彩模式模擬器) |
preverify → 顯示用法說明midp → 彈出模擬器視窗java -version → 顯示 JDK 版本


| 方法 | 呼叫時機 | 對應 Applet |
|---|---|---|
startApp() | 啟動、恢復前景 | start() |
pauseApp() | 來電、切換應用、鎖螢幕 | stop() |
destroyApp(boolean) | 使用者結束、系統強制回收 | destroy() |
javax.microedition.lcdui 包):Form, List, TextBox, Alert… 跨平台、抽象、商務應用首選Canvas, Graphics):像素級控制、遊戲/特殊效果、可移植性較低BACK, CANCEL, EXIT, HELP, ITEM, MENU, OK, SCREEN, STOPDisplayable.addCommand(Command) 註冊,優先權參數決定顯示順序CommandListener.commandAction(Command, Displayable) 處理事件
MyMIDlet/
├── src/
│ └── MyMIDlet.java
├── res/ (圖片、資料檔)
├── build/ (編譯輸出)
├── dist/ (JAR/JAD 輸出)
└── manifest.mf (手動維護或 Ant 生成)
preverifyNoClassDefFoundErrorpreverify → 類別檔無法被裝置載入startApp()