程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> 在NetBeans Java ME polish環境下開發BlackBerry應用

在NetBeans Java ME polish環境下開發BlackBerry應用

編輯:J2ME

本文轉自一位正在做Java ME polish在BlackBerry上運行的項目網友的博客,詳解了在NetBeans Java ME polish環境下開發BlackBerry應用。

以下為轉發的全文:

近日公司要求把之前做的一個Java ME polish項目在BlackBerry上運行。我是一個新手,所以一星期了,還是有小部分bug沒能成功運行。下邊是我對BlackBerry應用程序開發的一些見解:BlackBerry的介紹我不說了,想了解的朋友可以在網上搜索。在開發之前准備的開發工具:Java JDK,BlackBerry JDE,BlackBerry emulator. 其中BlackBerry JDE/emulator 可以到BlackBerry主站下載:www.blackberry.com

在網上廣為流傳的一份BlackBerry應用程序開發者指南裡邊詳細介紹如何用BlackBerry API開發BlackBerry application的各方面內容。

但是我們一般都是用Java ME開發,開發出來的程序是jar格式,可以運行在大部分型號的手機上。可是BlackBerry是不支持jar的,它支持的是cod格式。所以如果你想你開發的Java ME程序運行在BlackBerry上,就必須先把它轉為cod格式。

要把一般Java ME程序轉為cod可以在程序開發編譯過程序中轉,也可以對打包好的jar轉。

◆對已經打包好的jar文件轉為BlackBerrycod格式:進入jar文件所在目錄,在cmd(命令行)中進入相應目錄,輸入下邊命令就可以了:引用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, 如果環境變量沒有設置,這裡就要用絕對路徑:C:\Program Files\Research In Motion\BlackBerry JDE 4.2.1\bin\rapc, 當然你可以把它寫成一個.bat文件來執行。而網上你可以搜索到一個名為Java2Cod.exe的小程序可以直接轉換。)

◆在JDE中編譯程序:無論你是用BlackBerry API或者Java ME/midp API來開發Java ME程序,都可以在JDE上編譯。最終他會自動打包成cod文件。

◆在其IDE中編譯打包:因為我是用NetBeans來開發的,所以本人只能提供NetBeans開發BlackBerry程序的見解。而本人是在NetBeans中用Java ME polish來整合開發的。下邊介紹Java ME polish中開發BlackBerry程序

(可以參考http://www.J2MEpolish.org/docs/platform-blackberry.Html

一、在Java ME polish安裝目錄裡找到platforms.xml,在裡邊的BlackBerry部分中,加上<capability name="build.Finalizer" value="jar2cod" />(我用的是PrevIEw 2.0版本,裡邊這一句是注釋掉,所以要把它activate,也可以在devices.XML中在你想用的emulator 屬性裡加上這一句。如果沒有這一句編譯時就不會自動把jar轉換為cod文件的.)

polish裡支持的版本最新系4.2.0,如果你安裝BlackBerry版本最新的如4.2.1/4.3.0,哪麼你要把${BlackBerry目錄}/lib/net_rim_API.jar copy到${Java MEpolish}/import裡,在platforms.XML的BlackBerry中修改<capability name="build.BootClassPath" value="net_rim_API.jar" />

二、在工程的build.XML中添加blackberry.home屬性(你安裝的BlackBerry JDE目錄)

Java代碼

  1. <property name="blackberry.home"
  2. location="C:/Program Files/Research In Motion/BlackBerry JDE 4.2.1"
  3. />

三、如果你編譯後打包的jad文件中缺少MicroEdition-Configuration和MicroEdition-Profile兩個屬性是不能成功轉成cod文件的。這可以在工程的build.XML中的<build>屬性裡的<jad>元素中添加:

Java代碼

  1. <jad> <attribute target="jad" name="MicroEdition-Configuration" value="CLDC-1.1"
  2. if="polish.cldc11"/> <attribute target="jad" name="MicroEdition-Profile" value="MIDP-2.0"/>
  3. </jad>

四、如果你用了混淆器的(obfuscator),要把它unactivate,不要用它,因為BlackBerry中的rapc轉換過程中會對程序混淆的。

Java代碼

  1. <obfuscator name="ProGuard" unless="test or polish.blackberry" >
  2. </obfuscator>

五、在工程的build.XML中的<Java MEpolish>屬性requirements用你想編譯的BlackBerryemulator,如:

Java代碼

  1. <deviceRequirements> <requirement name="IdentifIEr" value="BlackBerry/8800" />
  2. </deviceRequirements>

如果你的程序是一般的Java ME程序,那麼就可以編譯運行了。但如果你是用BlackBerry API開發的,就要就把build.XML裡<build>元素中的<midlet>,改為<main>,同時要添加polish.classes.midlet-1的variable。如:

Java代碼

  1. <!-- midlets definition --> <main class="com.protel.BlackBerryim.ui.BlackBerryIMMidlet" />
  2. <!-- project-wide variables - used for preprocessing --> <variables> <variable name="polish.classes.midlet-1" value=" " />
  3. </variables>

(注:polish.classes.midlet-1的value是" ",中間有一個空格的,我試過了,如果沒有這個定義變量或者這個值中間沒有空格,jar是不能轉為cod格式。)

這是我初接觸BlackBerry時的一點心得。我用BlackBerry API在NetBeans+Java ME polish的環境下寫過一個test app,是能成功運行的,希望對初接觸BlackBerry的朋友有幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved