手機與 PDA 融合趨勢下,Java 成為跨平台開發首選。手機上的 Java 應用稱為 MIDlet,本文基於 Motorola J2ME SDK (iDEN 平台) 完整示範從安裝到執行的全流程。
Motorola_SDK.exe,輸入下載頁提供的安裝密碼。Motorola J2ME SDK/ ├── bin/ # Emulator.jar, ConfigTool.jar, preverifier.exe ├── lib/ # 類別庫 (CLDC/MIDP API) ├── demo/midlets/ # 範例原始碼 ├── docs/ # 文件 └── scripts/ # 執行腳本 (runEmul.bat 等)
繼承 javax.microedition.midlet.MIDlet,實作三個方法:
startApp():啟動/恢復pauseApp():暫停destroyApp(boolean):銷毀使用 demo/midlets/compileAll.bat 簡化流程:
compileAll HelloMIDlet.java
內部執行:
javac -O -bootclasspath ..\..\lib HelloMIDlet.javapreverifier -classpath ..\..\lib;. -d . HelloMIDlet若源碼不在 demo 目錄,手動指定 -bootclasspath 與 -classpath 指向 SDK lib 目錄。
切換至 scripts 目錄,執行:
runEmul HelloMIDlet(預設模擬器)runMotoi1000 HelloMIDlet(i1000 外觀)runMotoiDEN HelloMIDlet(iDEN 平台外觀)runStarTac HelloMIDlet(StarTac 外觀)runMyDevice HelloMIDlet(自訂裝置,需 .props 檔)命令列完整參數範例(含裝置外觀指定):
java -Djava.library.path=d:\MotoSDK\lib
-classpath d:\MotoSDK\bin\Emulator.jar;d:\MotoSDK\bin\ConfigTool.jar
com.mot.tools.j2me.emulator.Emulator
-classpath .;d:\MotoSDK\lib
-deviceFile resources\MotorolaiDENPlatform.props
javax.microedition.midlet.AppManager
HelloMIDlet
-JSA 1 1
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class HelloMIDlet extends MIDlet {
private Display display;
private Form form;
public HelloMIDlet() {
display = Display.getDisplay(this);
form = new Form("Hello MIDlet");
form.append(new StringItem("Hello", "MIDlet"));
}
protected void startApp() { display.setCurrent(form); }
protected void pauseApp() {}
protected void destroyApp(boolean u) {}
}