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

Eclipse Ganymede eRCP 實戰:將 RCP 桌面應用移植至移動設備的完整指南

     編輯:Java 相關知識

Eclipse Ganymede 同步發布 24 個項目,其中 Embedded Rich Client Platform(eRCP)讓開發者能以單一代碼庫構建桌面、Web、移動三端應用。本文作為三部曲終篇,詳細演示如何將基於 RCP 的任務備忘記事本遷移至 eRCP,涵蓋目標平台切換、代碼重構、模擬器調試、真機部署全流程。

eRCP 架構核心

  • eSWT:綁定原生 GUI 系統,平台相關,提供基礎控件與圖形引擎
  • eJFace:純 Java 實現的視圖框架,提供 Viewer、ContentProvider 等高級抽象
  • eWorkbench:精簡版 Workbench,無透視圖、無主窗口概念,應用即擴展點
  • Mobile Extensions:針對手機/PDA 優化的 UI 組件包(List、Form、Dialog 等)
  • Extended eSWT:高端設備額外組件(Table、Tree、Browser 等)

關鍵差異:RCP 用 SWT/JFace/Workbench,eRCP 用 eSWT/eJFace/eWorkbench + Mobile Extensions。

環境搭建:目標平台切換

  1. 下載 Windows Desktop eRCP V1.2 Runtime,解壓至本地目錄
  2. Eclipse → Preferences → Plug-in Development → Target Platform → Add → 指向解壓目錄
  3. 應用後項目自動重編譯,控制台將出現大量編譯錯誤(預期內)

代碼重構關鍵步驟

1. SelectionAdapter → SelectionListener

eRCP 無 SelectionAdapter,需實現 SelectionListener 兩方法:


viewer.getCloseButton().addSelectionListener(new SelectionListener() {
    public void widgetSelected(SelectionEvent e) { handleDispose(); }
    public void widgetDefaultSelected(SelectionEvent e) { /* 空實現 */ }
});

2. 移除 Workbench 專用類

刪除:ApplicationActionBarAdvisor、ApplicationWorkbenchWindowAdvisor、ApplicationWorkbenchAdvisor、Perspective、TaskOrganizerApplication。eWorkbench 無透視圖、無主窗口顧問、無 Application 類。

3. 替換 CellModifier 為彈出框編輯

同 RAP 遷移策略,表格單元格編輯改用 Dialog/Popup 彈出輸入框。

4. 重構 plugin.xml 擴展點

  • 刪除:org.eclipse.core.runtime.applications、org.eclipse.ui.perspectives、org.eclipse.core.runtime.products
  • 添加:org.eclipse.ercp.eworkbench.applications
    • ID: com.devworks.tutorial.po.application
    • Name: Personal Task Organizer
    • singleton: true(單實例運行)
    • views/normal: com.devworks.tutorial.po.view(啟動視圖)
  • 依賴自動添加 org.eclipse.ercp.eworkbench

模擬器驗證:eWorkbench 桌面模擬

  1. Run Configurations → Java Application → New
  2. Main class: org.eclipse.ercp.eworkbench.eWorkbench
  3. 啟動後列表顯示所有 eRCP 應用,選擇「Personal Task Organizer」運行
  4. 驗證增刪改查、持久化、偏好設置等完整功能

真機部署:Windows Mobile 模擬器/實體設備

平台準備

  • 下載 Windows Mobile 5/6 SDK 或 Microsoft Device Emulator
  • 確保設備支持 CDC/FP (Foundation Profile) JVM,推薦 IBM WebSphere Everyplace Micro Environment (J9 VM)

部署步驟

  1. 修改 eRCP 目錄下 .lnk 快捷方式路徑指向設備 JVM 與 eRCP 安裝目錄(如 \Program Files\J9、\Program Files\eRCP)
  2. Eclipse 導出插件:右鍵項目 → Export → Deployable plug-ins and fragments → 生成 JAR
  3. ActiveSync 連接設備/模擬器 → Explore Pocket PC → 複製 JAR 至 \Program Files\eRCP\plugins
  4. 複制對應平台的 eRCP Runtime 至設備 \Program Files\eRCP
  5. 設備啟動 j9foun-eworkbench.lnk → 應用列表出現 Task Organizer → 點擊運行

三部曲總結:一碼三端架構演進

平台技術棧核心修改部署產物
桌面RCP (SWT/JFace/Workbench)基準代碼p2 Repository / 產品導出
WebRAP (RWT/RAP)SingleSource 適配、SessionScope、Ajax 行為WAR 部署至 Servlet 容器
移動eRCP (eSWT/eJFace/eWorkbench)SelectionListener、eWorkbench 擴展點、Mobile Extensions UIJAR + eRCP Runtime 部署至設備

Ganymede 的 RCP/RAP/eRCP 三位一體,配合 p2 供應鏈、Subversion 團隊協作,構建了真正的「編寫一次,部署三端」企業級開發體系。掌握 eRCP 遷移精髓——識別平台差異點、最小化重構、最大化復用業務邏輯,是移動互聯網時代 Java 客戶端開發者的核心競爭力。

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