黑莓開發

使用Eclipse和BlackBerry JDE開發黑莓應用程序             

        分類:             Blackberry 開發              2009-07-12 14:01     10377人閱讀     評論(80)     收藏     舉報    

在Eclipse中搭建好黑莓開發環境後,使用了快一週了,感覺還不錯,想起之前的曲折,還是很有成就感的,呵呵。所以想把自己搭建的過程寫下來,給同樣和之前的我一樣存在困惑的朋友們,希望能給大家一點幫助吧。

關於開發環境,我嘗試過幾個,直接用BlackBerry JDE的,Eclipse下的,還有NetBeans的,甚至還想過使用WTK。因爲之前一直想把LWUIT運行在黑莓上,所以看過的環境搭建的文章基本上都是圍繞LWUIT的。東一榔頭西一棒槌的,最後終於發現很多評論說是LWUIT的運行速度是個問題,所以一下狠心——放棄。於是就把目標定在BlackBerry的環境搭建上。

但是黑莓的開發環境BlackBerry JDE真的很不好用,像我這種粗心大意的,寫出來代碼後,沒有智能檢測,結果肯定是BUG一堆。我不想挑起Eclipse和NetBeans的爭論,個人的經驗還是感覺Eclipse比較好用,配合BlackBerry JDE和JDWP,利用模擬器調試也很方便。我一般都是同時打開Eclipse、BlackBerry JDE、JDWP,還有黑莓開發文檔,Eclipse用來寫代碼、編譯以及調試,BlackBerry JDE用來看黑莓自帶例子(呵呵,還得學習人家的代碼啊)以及查看自己程序中都使用到了哪些敏感API(以便把這些代碼用其他的方式實現,簽名不是太貴,而是不容易買啊,要信用卡買……),JDWP用來啓動模擬器。

上面這些都是一點使用的小經驗,下面具體說下我搭建的過程。

其實也是根據網上的一篇文章來搭建的,作者是汪晶(Hoperun),原文地址沒有辦法找到了,因爲我是下載的PDF,而且因爲已經設置好了,自己也比較懶,做圖片比較麻煩,所以就直接使用PDF中的圖片了,作者如果覺得欠妥,我馬上改過來。我基本上是按照上面的步驟設置的,只是軟件的版本有些不同。

這裏想先首先說明一下,我按照《BlackBerry應用程序開發者指南》第二章中的《使用Eclipse開發環境》設置,並不能成功,不過可能是我某個地方遺漏或搞錯了吧,大家可以試試,成功的兄弟喊一聲!

開始吧!

 

準備工具

1、  JDK 1.6.0_03。

2、  Eclipse 3.5。

3、  BlackBerry JDE 4.5.0。

4、  Bb-ant-tools-0.7。(最新版本請到http://sourceforge.net/projects/bb-ant-tools/files/

 

環境搭建

一、安裝JDKBlackBerry JDEEclipse

聽說JDK安裝完後不用設置環境變量也可以正常運行,我還是乖乖地設置了,保險嘛,也費不了多少時間。下面是具體的內容:

CLASS_PATH

.;C:/Program Files/Java/jdk1.6.0_13/lib/tools.jar;

C:/Program Files/Java/jdk1.6.0_13/lib;

C:/Program Files/Java/jdk1.6.0_13/lib/dt.jar;

C:/Program Files/Java/jre6/lib;C:/Program Files/Java/jre6/lib/rt.jar

 

JAVA_HOME

C:/Program Files/Java/jdk1.6.0_13

 

Path

C:/Program Files/Java/jdk1.6.0_13/bin;C:/Program Files/Java/jre6/bin

Eclipse直接解壓就可以使用,自己嫌麻煩,就沒有安裝語言包,學英語。

BlackBerry JDE 4.5.0直接安裝就可以了,安裝完成後在安裝目錄的docs/api目錄下有文檔,呵呵,很重要的東東。我的手機就是8800,安裝完成後默認的模擬器是8300,我的手機是8800,所以還是比較習慣8800的界面,在安裝目錄下的simulator目錄裏面有個文件defaultSimulator.bat,是個啓動fledge.exe(模擬器配置程序)的批處理文件,我將裏面的8300全部改成8800。後來發現fledge.exe中可以直接選擇手機型號,暈死~

二、Eclipse設置

1Window->Preferences

(1)點擊Java->Installed JREs,可以看到裏面只有一個jre6項目。

 

點擊Add,在對話框中選擇Standard VM,然後Next,到下一步。

 

在JRE home項點Directory,選擇JDK的安裝目錄下的jdk1.6.0_03目錄。JRE name中填寫一個標識你創建的JRE名稱(我的是RIM JRE)。將JRE system libraries中的jar包全部刪除,因爲我們目標只是在黑莓的API中開發應用程序,寫代碼時這些包會干擾視線,通通和諧掉。然後點擊Add External JARs…,在BlackBerry JDE 4.5.0安裝目錄下的lib文件夾中選擇net_rim_api.jar,添加進JRE system libraries。

 

添加後點前面的小三角,開始設置Javadoc目錄,如下圖:

 

點Javadoc location,然後點擊右面Javadoc Location…,在彈出來的對話框中點Browse…,選擇BlackBerry JDE安裝目錄下的doc/api/目錄,OK,然後Finish回到Installed JREs。可以看到RIM JREs在列表中,將其打鉤,並且點擊jre6,再點Remove將其移除。

JRE導入完成!

 

(2)點擊Java->Compiler,將Compiler compliance level設置爲1.4(具體原因不明,誰知道,喊一聲)。其他的不要變,OK。

 

(3)點Java->Debug->Detail Formatters,點擊Add,在Qualfield type name:中輸入java.lang.String,下面Detal formatter code snippet:輸入toString(),下面Show variable details 選擇In detail pane only,OK完成。

 

(4)點Java->Debug,將Debugger timeout設置爲15000,Launch timeout設置爲200000,OK完成。

 

(5)點General->Workspace,去掉Build automatically,將後面兩項打鉤,OK完成。

 

注:1、上面的設置中的JDK、BlackBerry JDE安裝路徑要根據自己的實際路徑設置。

    2、因爲是引用PDF中的圖片,所以圖片中的設置和我的設置不一樣,不過這並不影響什麼,大家照葫蘆畫瓢了。

2、創建工程

(1)點擊File->New->Java Project,填入工程名(我的是HelloWorld),Contents選擇創建一個新的工程,JRE選擇使用一個特殊的JRE(我的是RIM JVM),其他的都是默認的就行。Next。

 

(2)在這一步,工程中的文件夾可以沒有。不過這樣整個工程會感覺很混亂,還是建議把不同的文件分類存放,例如src存放*.java,img存放圖片,或者再建一個res文件夾存放其他資源文件,等等。

 

(3)在Order and Export中選中JRE System Library [RIM JVM],Finish。

 

3、在工程中導入bb-ant-tools

(1)右擊工程名,選擇New->Folder,文件夾名爲lib,點擊Finish。右擊Finish,選擇Import,點General->File System,然後Next。

 

(2)點Browse…,選擇bb-ant-tools所在的目錄,勾選右面的列表中的bb-ant-tools.jar,在Into folder中選擇HelloWorld/lib,點Finish。

 

(4)工程中目錄應該是下面這個樣子的:

 

右擊bb-ant-tools.jar,選擇Build Path->Add to Build Path,之後在Referenced Libraries中會出現。

 

4、在工程中創建工程配置文件build.xml

右擊工程名->New->File,文件名爲Build.xml,向其中加入如下代碼,其中紅色部分是根據自己的JDK以及BlackBerry JDE的安裝目錄靈活改變的。

<?xml version="1.0" encoding="UTF-8"?>

<project name="HelloWorld" default="buildRIM" basedir=".">

       <taskdef resource="bb-ant-defs.xml" classpath="lib/bb-ant-tools.jar" />

       <property name="jdehome" value="D:/Program Files/Research In Motion/BlackBerry JDE 4.5.0" />

       <property name="javahome" value="C:/Program Files/Java/jdk1.6.0_13" />

       <property name="simulator" value="${jdehome}/simulator" />

       <property name="bin" value="${jdehome}/bin" />

       <property name="output" value=" HelloWorld " />

       <property name="title" value=" HelloWorld " />

       <property name="vendor" value="W.S" />

       <property name="version" value="0.1" />

       <property name="description" value="wilesilly`s Blackberry program" />

       <target name="buildRIM" description="Composes RIM" depends="clean">

              <rapc jdehome="${jdehome}" jdkhome="${javahome}" output="${output}">

                     <jdp title="${title}" vendor="${vendor}" version="${version}" description="${description}" runonstartup="false" type="cldc" />

                     <src>

                            <fileset dir="D:/workspace/HelloWorld">

                                   <include name="**/*.java" />

                                   <include name="resource/**/*.*" />

                            </fileset>

                     </src>

              </rapc>

              <copy todir="${simulator}" overwrite="true">

                     <fileset dir=".">

                            <include name="*.cod" />

                            <include name="*.debug" />

                            <include name="*.cso" />

                     </fileset>

              </copy>

       </target>

       <target name="clean">

              <delete>

                     <fileset dir="bin" includes="**/*.class" />

                     <fileset dir=".">

                            <include name="*.cod" />

                            <include name="*.cso" />

                            <include name="*debug" />

                            <include name="*.jad" />

                            <include name="*.jar" />

                            <include name="*.rapc" />

                     </fileset>

              </delete>

       </target>

</project>

具體都是什麼含義,我也不是很清楚,但是jdehome就是BlackBerry JDE的安裝目錄,javahome是JDK的安裝目錄。還好有現成的,否則不會XML還不掛掉了?以後學吧,肯定有用。

5)設置Builders

右擊工程名->Properties。

 

New一個,選擇Ant Builder,OK。

 

Name自己寫一個,在Main標籤中的Buildfile點Browse Workspace…,選擇HelloWorld目錄中的build.xml文件,OK。

 

在Targets標籤中的During a “Clean”右面點擊Set Targets,僅僅選擇clean,OK,仍然OK。

 

將RIM_Builder上移,OK。

 

工程配置終於完成了,可以添加代碼進工程了。首先寫個最簡單的HelloWorld.java。代碼如下:

import net.rim.device.api.ui.UiApplication;

import net.rim.device.api.ui.container.MainScreen;

import net.rim.device.api.ui.Field;

import net.rim.device.api.ui.component.Dialog;

import net.rim.device.api.ui.component.LabelField;

import net.rim.device.api.ui.component.RichTextField;

 

public class HelloWorld extends UiApplication

{

    public static void main(String[] args)

    {

        HelloWorld theApp = new HelloWorld();

        theApp.enterEventDispatcher();

    }

 

    public HelloWorld()

    {

        pushScreen(new HelloWorldScreen());

    }    

}

 final class HelloWorldScreen extends MainScreen

{

    public HelloWorldScreen()

    {

        LabelField title = new LabelField("Hello World Demo" , LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH);

        setTitle(title);

        add(new RichTextField("Hello World!" ,Field.NON_FOCUSABLE));

    }

 

    public void close()

    {

        Dialog.alert("Goodbye!");

        System.exit(0);

        super.close();

    }   

 

}

保存後,可以右擊工程名->Build Project或者Ctrl+B,Build一下,應該沒有錯誤的。

這樣,Eclipse以及工程的配置已經基本完成,配置文件可以拷貝一份,可能一用好多年,它一直帶在身邊,程序員版的雙截棍。^_^

 

三、Eclipse調試

使用Eclipse調試黑莓程序,必須將JDWP程序打開,這樣當在Eclipse中點擊調試時,這個程序會自動啓動模擬器。第一次調試的時候可能會提示*.debug文件找不到,別理它,直接點“Don`t ask this again”。

右擊工程名->Debug as->Debug configuration,或者點擊工具欄上那個甲殼蟲圖標右面的小三角選擇Debug configuration。

 

在Remote Java Application上點右鍵,選擇New。

 

Eclipse會自動配置好Debug,你只需按Debug就可以調試了。

 

運行結果:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章