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

Eclipse eRCP 開發完整指南:從環境搭建到嵌入式設備部署實戰

     編輯:Java 相關知識

eRCP 簡介:將 RCP 優勢延伸至嵌入式領域

eRCP (embedded Rich Client Platform) 是 Eclipse RCP 的嵌入式裁剪版,保留核心運行時、eSWT、eJFace、eUpdate Manager、eWorkbench 等組件,針對移動設備的有限存儲、觸摸屏/按鍵交互、多屏適配等特性優化。支持平台:Windows Mobile 2003/5、Win32 桌面、Nokia Series 80。

開發環境搭建 (Windows + Eclipse 3.2)

必備軟體棧

  • Eclipse SDK 3.2
  • JRE 1.4.2 (Sun/IBM)
  • IBM WebSphere Studio Device Developer (WSDD) 5.7.1 — 提供 J2ME Foundation Profile
  • eRCP 運行時 (Milestone 建構版)

關鍵配置步驟

  1. 切換目標平台:Window > Preferences > Plug-in Development > Target Platform 指向 eRCP 運行時目錄
  2. 配置 Foundation Profile JRE:移除默認 JRE 系統庫,添加 WSDD 提供的 charconv.zip、classes.zip、locale.zip、map.zip
  3. 編譯器合規級別設為 1.4:eRCP 基於 J2ME CDC/Foundation Profile,不支持 Java 5 語法

兩種應用程序模型

模型特徵適用場景
獨立 eRCP 應用 每 JVM 一個 GUI,擁有獨立 Display/Shell 全屏獨佔式嵌入式應用
eWorkbench 應用 多應用共享單 JVM/Workbench 窗口,支持多屏切換 手持設備多應用共存、外屏/內屏差異化顯示

獨立 eRCP HelloWorld 核心代碼

public class Application implements IPlatformRunnable {
    public Object run(Object args) {
        Display display = PlatformUI.createDisplay();
        Shell shell = new Shell(display, SWT.CLOSE);
        Label label = new Label(shell, SWT.NORMAL);
        label.setText("Hello eRCP!");
        label.setBounds(100, 80, 100, 20);
        shell.setSize(300, 200);
        shell.open();
        while (!shell.isDisposed()) {
            if (!display.readAndDispatch()) display.sleep();
        }
        display.dispose();
        return IPlatformRunnable.EXIT_OK;
    }
}

eWorkbench 視圖定義 (plugin.xml)

<extension point="org.eclipse.ui.views">
    <view id="org.eclipse.testworkbenchapp.views.SampleView"
          class="org.eclipse.testworkbenchapp.views.SampleView"
          name="Sample View" />
</extension>
<extension point="org.eclipse.ercp.eworkbench.applications">
    <application id="org.eclipse.testworkbenchapp.application"
                 name="Test workbench app" singleton="true">
        <views normal="org.eclipse.testworkbenchapp.views.SampleView"/>
    </application>
</extension>

調試日誌系統

  • 五級別:OK, INFO, WARNING, ERROR, CANCEL
  • 統一平台日誌文件:workspace/.metadata/.log
  • 插件級日誌獲取:getDefault().getLog().log(new Status(...))
  • 控制台不可用時(設備端)日誌是唯一診斷手段

部署到真實設備:更新管理器方案

  1. 創建 Feature 打包插件
  2. 構建 Update Site (site.xml + features/ + plugins/)
  3. ActiveSync 連接設備,將站點複製到 \My Documents
  4. 設備端 eWorkbench → Application Manager → Install New Applications → 添加本地站點 → 安裝 Feature → 重啟運行時

RCP vs eRCP 核心差異總結

eRCP 是 RCP 子集,繼承大部分 API,犧牲桌面特有功能(如複雜拖拽、大內存模型),增加移動專屬擴展(觸摸手勢、軟鍵映射、多屏適配、小屏佈局優化)。

遷移建議:桌面 RCP 遷移 eRCP 時,優先檢查 SWT 組件兼容性、線程模型差異(UI 線程單一性更嚴格)、持久化存儲路徑權限。

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