本文轉載自一位正在實踐 Java ME Polish 在 BlackBerry 上運行專案的開發者部落格,詳細說明在 NetBeans Java ME Polish 環境下開發 BlackBerry 應用的步驟與心得。
所需工具:Java JDK、BlackBerry JDE、BlackBerry Emulator。其中 JDE/Emulator 可至 BlackBerry 官網下載:www.blackberry.com。
網上流傳的《BlackBerry 應用程式開發者指南》詳細介紹如何使用 BlackBerry API 開發應用的各方面內容。
一般 Java ME 開發產出 JAR 格式,可在大多數手機運行。但 BlackBerry 不支援 JAR,僅支援 COD 格式。因此,若想讓 Java ME 程式在 BlackBerry 上運行,必須先將其轉為 COD 格式。
轉換方式有二:在程式開發編譯過程中轉換,或對打包好的 JAR 轉換。
cd <JAR所在目錄>
rapc import="C:\Program Files\Research In Motion\BlackBerry JDE 4.2.1\lib\net_rim_api.jar" codename=TestBB jad=TestBB.jad TestBB.jar
註:rapc 位於 C:\Program Files\Research In Motion\BlackBerry JDE 4.2.1\bin\rapc.exe,若環境變數未設定需用絕對路徑。網上也有 Java2Cod.exe 小工具可直接轉換。
無論使用 BlackBerry API 或 Java ME/MIDP API 開發,均可在 JDE 編譯,最終自動打包成 COD。
參考:Java ME Polish BlackBerry 文檔
<capability name="build.Finalizer" value="jar2cod" />(預覽版 2.0 中此行被註解,需啟用)。也可在 devices.xml 的 emulator 屬性中加入。缺少此行編譯時不會自動將 JAR 轉為 COD。${BlackBerry目錄}/lib/net_rim_API.jar 複製到 ${Java ME Polish}/import,並在 platforms.xml 中修改 <capability name="build.BootClassPath" value="net_rim_API.jar" />。<property name="blackberry.home" location="C:/Program Files/Research In Motion/BlackBerry JDE 4.2.1" />
MicroEdition-Configuration 和 MicroEdition-Profile 將無法轉 COD。在 build.xml 的 <jad> 元素中添加:
<jad>
<attribute target="jad" name="MicroEdition-Configuration" value="CLDC-1.1" if="polish.cldc11"/>
<attribute target="jad" name="MicroEdition-Profile" value="MIDP-2.0"/>
</jad>
<obfuscator name="ProGuard" unless="test or polish.blackberry">
</obfuscator>
<deviceRequirements> 中設定:
<deviceRequirements>
<requirement name="Identifier" value="BlackBerry/8800" />
</deviceRequirements>
<midlet> 改為 <main>,並添加 polish.classes.midlet-1 變數(值為一個空格):
<main class="com.protel.BlackBerryim.ui.BlackBerryIMMidlet" />
<variables>
<variable name="polish.classes.midlet-1" value=" " />
</variables>
註:此變數值中間必須有一空格,否則 JAR 無法轉 COD。
以上是我初接觸 BlackBerry 時的心得。我在 NetBeans + Java ME Polish 環境下用 BlackBerry API 寫過測試應用,成功運行。希望對初學者有幫助。