J2ME (Java 2 Micro Edition) 是早期功能機應用開發的主流平台。雖然已被 Android/iOS 取代,但理解其架構對嵌入式 Java、物聯網模組開發仍有參考價值。本文詳細記錄 Sun Java Wireless Toolkit (WTK) 2.x + Nokia 7210 模擬器 的安裝、配置、項目創建全流程。
javax.microedition.midlet.MIDlet,包含 startApp/pauseApp/destroyApp 生命週期方法C:\j2sdk1.4.2C:\WTK2.5.2,包含 ktoolbar.exe (圖形管理器)、模擬器、預驗證器、打包工具Nokia_7210_SDK.zip 或 Series_40_3rd_Edition_SDKC:\WTK2.5.2\wtklib\devices\Nokia7210device.info、皮膚圖片、按鍵映射文件運行 bin/ktoolbar.exe,界面六大核心按鈕:
| 按鈕 | 功能 | 關鍵操作 |
|---|---|---|
| New Project | 創建 MIDlet Suite | 輸入項目名、主 MIDlet 類名 → 生成 apps/項目名/{src,res,lib,bin} 目錄結構 |
| Open Project | 打開現有項目 | 激活 Settings/Build/Run/Device 選項 |
| Settings | 項目屬性配置 | 四大分頁:Required(MIDlet 名/圖標/類)、Optional(版本/供應商/描述)、User Defined(自定義屬性)、API Permissions(網絡/短信/本地連接權限) |
| Build | 編譯、預驗證、打包 | 生成 bin/項目名.jar、bin/項目名.jad、bin/MANIFEST.MF |
| Run | 啟動模擬器運行 | 選擇設備 (DefaultColorPhone/Nokia7210) → 啟動模擬器窗口 |
| Device | 選擇目標模擬器 | 切換不同手機皮膚、屏幕尺寸、按鍵佈局進行兼容性測試 |
apps/MyProject/
├── src/ # Java 源文件 (*.java)
├── res/ # 資源文件 (圖片 .png、數據文件、配置文件)
├── lib/ # 第三方 JAR (需放入項目 classpath)
└── bin/ # 輸出文件
├── MyProject.jar # 包含所有 class、資源、MANIFEST.MF
├── MyProject.jad # 描述符:MIDlet-Name, MIDlet-Version, MIDlet-Jar-URL, MicroEdition-Profile...
└── MANIFEST.MF # 清單文件,內容與 jad 類似但部署在 JAR 內部
// 保存為 apps/HelloWorld/src/Hello.java
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Hello extends MIDlet {
private Display display;
public Hello() { display = Display.getDisplay(this); }
public void startApp() {
TextBox t = new TextBox("Hello", "Hello MIDP!", 256, 0);
display.setCurrent(t);
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {}
}
apps/HelloWorld/src/Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_SMALL) 確保設備支持,或使用自定義位圖字體device.info 中 name=Nokia7210、version=1.0、description 字段正確# 編譯 javac -bootclasspath %WTK_HOME%\lib\midpapi20.jar -d tmpclasses src\*.java # 預驗證 %WTK_HOME%\bin\preverify -classpath %WTK_HOME%\lib\midpapi20.jar -d output tmpclasses # 打包 jar cvfm MyProject.jar manifest.mf -C output . -C res .
適合集成到 Ant/Maven/Gradle 自動化構建流程。
WTK + Nokia 模擬器提供了完整的 J2ME 開發、調試、打包、模擬環境。核心流程:創建項目 → 編寫源碼/放入資源 → 配置權限/屬性 → Build 生成 JAR/JAD → Run 多設備測試 → OTA 部署。雖然 J2ME 已退出歷史舞台,但其沙箱安全模型、生命週期管理、受限資源下的優化思想對現代嵌入式 Java、Card Java、IoT 模組開發仍具啟發意義。