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

EclipseME 插件開發 J2ME 應用完整教程(下):項目創建與運行實戰

     編輯:Java 程式設計入門

使用 EclipseME 創建、編寫、運行、打包 J2ME Midlet Suite 完整流程

接上篇環境配置,本文演示在 EclipseME 中從零創建 J2ME 項目、編寫 MIDlet 代碼、多設備模擬器運行、導出 OTA 部署包的端到端實戰操作。

創建 J2ME Midlet Suite 項目

  1. 菜單 File → New → Project...
  2. 選擇 J2ME → J2ME Midlet Suite → Next
  3. Project Name:HelloMIDletSuite → Next
  4. Platform Selection:選擇 J2ME Wireless Toolkit 2.1 MIDP 2.0 Platform (或 1.0) → Next
  5. Project Settings:保持默認 (Source folder: src, Output folder: bin, Resource folder: res) → Finish

項目結構自動生成:

HelloMIDletSuite/
├── src/           # Java 源文件
├── res/           # 資源文件 (圖片、數據)
├── bin/           # 編譯輸出 .class、預驗證後 class
├── build/         # 打包輸出 .jar、.jad
├── jad.properties # JAD 屬性模板
└── .eclipseme     # EclipseME 內部配置

創建項目步驟1

創建項目步驟2

創建項目步驟3

創建項目步驟4

創建項目最終結果

編寫第一個 MIDlet

  1. 右鍵 src → New → Class
  2. Package: com.example.hello, Name: HelloMIDlet
  3. Superclass: javax.microedition.midlet.MIDlet
  4. 勾選 Constructors from superclass, Inherited abstract methods
  5. 生成代碼並修改:
package com.example.hello;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloMIDlet extends MIDlet {
    private Display display;
    public HelloMIDlet() { display = Display.getDisplay(this); }
    protected void startApp() {
        Form form = new Form("Hello EclipseME");
        form.append("Hello, J2ME World!");
        form.addCommand(new Command("Exit", Command.EXIT, 1));
        form.setCommandListener(c -> {
            if (c.getCommandType() == Command.EXIT) destroyApp(true);
        });
        display.setCurrent(form);
    }
    protected void pauseApp() {}
    protected void destroyApp(boolean unconditional) {
        notifyDestroyed();
    }
}

配置 MIDlet 屬性 (JAD/Manifest)

  1. 右鍵項目 → Properties → J2ME → Midlet Suite
  2. Midlets 表格:Add → Name: Hello, Class: com.example.hello.HelloMIDlet, Icon: (可選選擇 res/icon.png)
  3. General:MIDlet-Name: Hello Suite, MIDlet-Version: 1.0.0, MIDlet-Vendor: MyCompany
  4. Optional:Description、Info URL 等
  5. API Permissions:網絡權限設為 Allow 或 Blanket (需簽名)

運行與調試

  1. 右鍵項目 → Run As → J2ME Midlet
  2. 首次運行彈出 Device Selector:選擇 Sun WTK 2.1 DefaultColorPhone 或 Nokia7210 (若已導入皮膚)
  3. 模擟器啟動,顯示 "Hello, J2ME World!" 表單,軟鍵 "Exit" 退出
  4. Eclipse Console 視圖輸出模擬器日誌、System.out.println、异常堆棧

多設備兼容性測試

  • 菜單 Run → Run Configurations... → J2ME Midlet
  • 創建多個配置,分別綁定不同設備:DefaultColorPhone (240x320)、DefaultGrayPhone (128x128)、Nokia7210 (128x128, 彩色)、MotorolaC650 (176x220)
  • 批量運行,觀察 UI 佈局自適應、字體大小、顏色深度、按鍵映射差異

導出 OTA 部署包

  1. 右鍵項目 → Export → J2ME → Deployable MIDlet Suite
  2. 選擇輸出目錄 (如 C:\deploy\hello\)
  3. 選項:
    • Create JAD/JAR:生成 HelloMIDletSuite.jad、HelloMIDletSuite.jar
    • Start HTTP Server:EclipseME 內置 Jetty 在隨機端口 (如 8080) 啟動 HTTP 服務,直接提供 JAD/JAR 下載
    • Generate QR Code:生成下載鏈接二維碼,手機掃碼直達
  4. 真機測試:手機瀏覽器訪問 https://PC_IP:PORT/HelloMIDletSuite.jad → 自動下載安裝

進階:集成 ProGuard 混淆壓縮

  1. 下載 proguard.jar 放入項目 tools/
  2. 項目 Properties → J2ME → Obfuscation:啟用、指定 ProGuard JAR、配置 proguard.cfg (保留 MIDlet 入口類、序列化類、RMS 類)
  3. Release 構建自動混淆,JAR 體積通常縮減 30%-50%

常見開發期問題

問題解決
模擬器中文亂碼WTK 默認字體無中文,使用自定義位圖字體或確保設備皮膚支持中文
JAR 超過設備限制 (如 64KB)啟用 ProGuard、移除調試代碼、壓縮圖片 (PNG 8位)、合併工具類
網絡請求彈窗頻繁簽名 MIDlet (Trusted 域)、或用戶授權 "Always Allow"
真機安裝失敗 "Invalid JAD"檢查 JAD 中 MIDlet-Jar-URL 為絕對 HTTP 路徑、JAR 大小與 JAD 一致、MIME 類型正確
EclipseME 控制台無輸出Run Configuration → Common → 勾選 "Allocate console"

總結

EclipseME 將 WTK 命令行工具鏈圖形化、IDE 化,提供了當時最主流的 J2ME 開發體驗:項目向導 → 智能編輯 → 多設備一鍵運行 → OTA 一鍵部署 → 混淆優化。雖然 J2ME 時代已過,但 EclipseME 的插件化架構設計、跨平台工具鏈抽象、設備能力庫管理思想,對現代 IDE 插件開發 (如 Android Studio 插件、VS Code 擴展) 仍有參考價值。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved