首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2ME

JCreator + Motorola J2SDK 環境配置與實戰心得

     編輯:J2ME

環境假設路徑

  • JCreator LE:D:\Program Files\Xinox Software\JCreator LE
  • Motorola J2SDK:D:\MotoJ2SDK
  • JDK 1.3.1:D:\jdk1.3.1

重要前置動作: 先啟動模擬環境 —— 執行 D:\MotoJ2SDK\generic\scripts\runConstructor.bat,選擇手機型號、語言、Normal 模式,點選「建立」。

JCreator 詳細配置步驟

步驟 1:設定 JDK Profile

Configure → Options → JDK Profiles

  • 新增 Profile,指向 D:\jdk1.3.1
  • 命名為「J2ME 388」
  • Add Classes Path:D:\MotoJ2SDK\lib
  • Add Documentation Path:D:\MotoJ2SDK\docs
  • 將新增的兩行移至最上方(優先順序最高)

步驟 2:設定編譯器參數

Configure → Options → JDK Tools → Compiler → Edit

  • Parameters 改為:-classpath D:/MotoJ2SDK/lib $[JavaFiles]

步驟 3:新增 Preverifier 工具

Configure → Options → Tools → New → DOS Command

  • 名稱:Preverifier
  • Arguments:d:\MotoJ2SDK\bin\preverifier.exe -classpath "d:\MotoJ2SDK\lib" -d . .
  • Initial Directory:$[PrjDir]

步驟 4:新增 Run Emulator 工具

Configure → Options → Tools → New → DOS Command

  • 名稱:Run Emulator
  • Arguments(單行):
    java -Djava.library.path=d:/MotoJ2SDK/lib -classpath "d:/MotoJ2SDK/bin/Emulator.jar";"d:/MotoJ2SDK/ConfigTool.jar" com.mot.tools.J2ME.emulator.Emulator -classpath $[PrjDir];"d:/MotoJ2SDK/lib" -deviceFile d:/MotoJ2SDK/bin/resources/device.props javax.microedition.midlet.AppManager $[CurClass] -JSA 1 1
  • Initial Directory:d:\MotoJ2SDK\bin

建立測試專案流程

  1. 新建專案 → Empty Project,命名如 test,JCreator 會在工作目錄建立同名資料夾。
  2. 新增檔案 → Java File,命名 test.java,撰寫原始碼並儲存。
  3. 專案右鍵 Add File 加入 test.java。
  4. 注意:原始碼不可包含 package 宣告。
  5. 編譯 → 執行 Tools → Preverifier 預驗證 → 執行 Tools → Run Emulator 啟動模擬器。

測試範例程式:鍵盤事件擷取

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class test extends MIDlet implements CommandListener {
    private KeyEventsDemoCanvas myCanvas;
    private Display myDisplay;
    private Command okCommand = new Command("OK", Command.OK, 1);

    public test() {
        myDisplay = Display.getDisplay(this);
        myCanvas = new KeyEventsDemoCanvas();
        myCanvas.addCommand(okCommand);
        myCanvas.setCommandListener(this);
    }

    public void commandAction(Command c, Displayable s) {}
    protected void startApp() { myDisplay.setCurrent(myCanvas); }
    protected void pauseApp() {}
    protected void destroyApp(boolean unconditional) {}

    class KeyEventsDemoCanvas extends Canvas {
        public final int BACKGROUND_COLOR = 0xFFFFFF;
        public final int FOREGROUND_COLOR = 0x000000;
        private int lastKey;

        public void paint(Graphics g) {
            g.setColor(BACKGROUND_COLOR);
            g.fillRect(0, 0, getWidth(), getHeight());
            g.setColor(FOREGROUND_COLOR);
            g.drawString("Press a key!", 0, 0, Graphics.TOP | Graphics.LEFT);
            if (lastKey != 0) {
                g.drawString("Key Code: " + lastKey, 0, g.getFont().getHeight(), Graphics.TOP | Graphics.LEFT);
                try {
                    g.drawString("Action: " + getGameAction(lastKey), 0, 2 * g.getFont().getHeight(), Graphics.TOP | Graphics.LEFT);
                    g.drawString("Key Name: " + getKeyName(lastKey), 0, 3 * g.getFont().getHeight(), Graphics.TOP | Graphics.LEFT);
                } catch (Exception e) {}
            }
        }
        public void keyPressed(int keyCode) { lastKey = keyCode; repaint(); }
        public void keyRepeated(int keyCode) { System.out.println("Key repeated " + keyCode); }
    }
}

心得補充

  • Motorola SDK 版本差異大,路徑請依實際安裝位置調整。
  • Preverifier 參數中的 -d . . 表示輸出至當前目錄,來源為當前目錄下所有 class。
  • Run Emulator 指令極長,建議存為 .bat 檔由 Tools 呼叫,易於維護。
  • 真機測試需破解 Java App Loader 或使用 OTA 下載,數據線傳輸較繁瑣。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved