首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

WebSphere Studio Device Developer (WSDD) 開發 DB2 Everyplace V8.1 Palm OS MIDlet 實戰

     編輯:DB2 教學

兩大開發路徑對比

MIDP 基礎回顧

  • MIDP (Mobile Information Device Profile):J2ME 配置文件,運行於 CLDC 之上
  • MIDP for Palm OS:讓 Palm 運行標準 MIDlet,遵循 Palm UI 慣例
  • 高層 API:可移植 (List, Form, Alert);低層 API:全屏繪製/鍵盤控制、犧牲移植性
  • MIDlet 生命周期:startApp()、pauseApp()、destroyApp()

WSDD 開發環境搭建

  1. WSDD 評估版:下載,可與 WSAD 共存不同目錄
  2. DB2 Everyplace V8.1 SDK:安裝至 C:\DB2EveryPlaceSDK (含評估版引擎)
  3. Palm OS Emulator (POSE) + ROM:
    • SDK 目錄 SDK\ApplicationBuilder\Toolkits\Palm Development\MAB_prereqs\emulator-win.zip 解包至 c:\PalmDev
    • 解包 pilrc.zip 至同目錄
    • 從 Palm Resource Pavilion 下載 ROM Image
    • 雙擊 emulator.exe → New Session 選擇 ROM → 保存 run1.psf
  4. POSE 安裝 DB2e 引擎與 VNURSE 樣例 (兩種方式二擇一):
    • 手動:右鍵 Emulator → Install → Other → 選擇 SDK Clients\PalmOS\database\ 下 8 個 .prc (含 NurseInit.prc)
    • 自動:安裝 Palm Desktop + HotSync Manager → POSE 配置 TCP/IP Redirect + LANSync + Primary PC (127.0.0.1) → MAB Install on Mobile Devices 工具 → HotSync 推送

WSDD 專案創建與配置

  1. New Wizard → J2ME for J9 → Create MIDlet Suite
    • Project: DB2eMIDP / Suite: DB2eMIDP / MIDlet: DB2eMIDP / Package: com.ibm.pic.demo / Class: DB2eDemo
  2. 導入 5 個 Java 源文件至 src/com/ibm/pic/demo: AboutAlert.java, DataList.java, DB2eDemo.java, ImageCanvas.java, PICIntroCanvas.java
  3. 創建 src/icons 文件夾,導入 3 張圖片:App.png, Duke.png, JavaPowered-8.png
  4. 導入 DB2e JDBC 包:File → Import → <SDK>\Clients\PalmOS\database\JDBC\cldc → 勾選 cldc\lib 下 java 和 com (不含 com\ibm\db2e\app)
  5. 專案屬性 → Java Build Path → Libraries → Add Folder → 選擇專案下 lib 文件夾

針對 Palm OS 68k 平台構建配置 (wsddbuild.xml)

  1. 雙擊 wsddbuild.xml → Build 標籤 → Add → Platform: J9 for Palm 68k
  2. Creator ID: DB2e / Application Name: DB2eDemo
  3. Launch 模式:PrcApplication on Palm OS emulator
  4. 編輯 palm68k/DB2eMIDP Project.jxeLinkOptions:
    • Include whole classes → 新增 com.ibm.db2e.jdbc.DB2eDriver (確保驅動類被鏈接)
    • Include resources → 新增三張圖片 icons/App.png 等

運行與調試

  1. Window → Preferences → Device Developer → Palm OS Java Configuration
    • Emulator Run Arguments: -psf C:\PalmDev\run1.psf
    • Debug Arguments: -psf C:\PalmDev\debug.psf
  2. wsddbuild.xml → Launches → 選擇 Launch - Run and Debug palm68k/DB2eMIDP Project.prc as Prc Application on PalmOS emulator → Run
  3. Emulator 中點擊 DB2eDemo 圖標 → 測試 Query/Intro/About 功能

核心源碼解析 (DB2eDemo.java)

// 1. 載入驅動
private static final String driver = "com.ibm.db2e.jdbc.DB2eDriver";
private static final String url = "jdbc:db2e:mysample";

// 2. startApp() 啟動顯示主畫面
protected void startApp() { display = Display.getDisplay(this); displayOriginalPage(); }

// 3. 主畫面命令按鈕
queryCommand = new Command("Query", Command.SCREEN, 1);
PICIntroCommand = new Command("Intro", Command.SCREEN, 1);
// ... commandAction 分發處理

// 4. 查詢 VNPERSON 表
public String[] getDataList() {
  String[] list = new String[100]; int i = 0;
  try {
    Class.forName(driver);
    Connection con = DriverManager.getConnection(url);
    Statement st = con.createStatement();
    ResultSet rs = st.executeQuery("SELECT ID,name,address,city FROM vnperson");
    while (rs.next()) {
      StringBuffer buf = new StringBuffer();
      buf.append(" ----- ").append(rs.getString(1)).append(", ")
         .append(rs.getString(2)).append(", ")
         .append(rs.getString(3)).append(", ")
         .append(rs.getString(4));
      list[i++] = buf.toString();
    }
    rs.close(); st.close(); con.close();
    return Arrays.copyOf(list, i);
  } catch (Exception ex) { return null; }
}

// 5. pauseApp/destroyApp 釋放資源
protected void destroyApp(boolean flag) { dataList = null; }

關鍵點:

  • JDBC URL jdbc:db2e:mysample 指向 Palm 端已安裝的 VNURSE 樣例數據庫
  • getDataList() 返回非空字符串數組供 DataList (List 組件) 顯示
  • 異常吞沒僅為演示,生產代碼必須記錄日誌

真機部署

wsddbuild.xml → Launches → Launch - Run and Debug palm68k/DB2eMIDP Project.prc as Prc Application → Run → 彈出 Palm OS Install Tool → Done → HotSync 推送至實體設備。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
維度Mobile Application Builder (MAB)WebSphere Studio Device Developer (WSDD)
定位DB2e 附屬視覺化 RAD 工具專業級 Java ME IDE (Eclipse 基礎)
生成目標Palm C 應用 / Java MEJava ME (MIDP/CLDC) 為主
適用場景快速原型、表單驅動應用複雜邏輯、團隊協作、版本控制、調試剖析
成本SDK 免費包含商業授權 (有評估版)