第四篇其他常用开发平台介绍第12章BlackBerry开发应用与开发12.1BlackBerry开发介绍自从BlackBerry进入中国以来,BlackBerry手机以独特的风格和强大的功能吸引了众多的追随者。不管是个人用户还是企业用户,一旦使用BlackBerry手机,他们都会喜欢上这款风靡于北美、欧洲,甚至可以说是世界各地的智能手机。同时,随着使用的不断深入,越来越多的中国用户提出了BlackBerry应用本地化的需求,他们需要更多的BlackBerry本地应用,以满足个人使用的需要和企业事务处理的需要。在这种需求的推动下,全国各地的开发人员开始努力工作,各种适合中国用户的BlackBerry应用相继产生。12.2BlackBerry开发环境搭建RIM(ResearchinMotion)公司为BlackBerry开发提供了多种开发平台,不同平台的开发人员可以选择自己熟悉的开发工具开发BlackBerry应用程序。本节以BlackBerryJDEPlug-InforEclipse为例描述了BlackBerry开发环境的搭建过程。Eclipse安装:BlackBerryEclipsePlug-In是在Eclipse平台的一个插件,为了安装BlackBerryEclipsePlug-In,需要先安装Eclipse平台。BlackBerryEclipsePlug-In对Eclipse的版本要求为3.3.1或者是3.3.1以上,本节以Eclipse3.4为例说明Eclipse的安装。Eclipse安装程序可以从Eclipse的官方网站下载,网址为:。国内也有很多网站可以下载Eclipse安装程序。Eclipse是一个免安装程序,一般而言只需要把下载的压缩文件解压缩就可以使用。本文使用的Eclipse安装程序为eclipse-SDK-3.4-win32.zip,将该文件解压缩至文件夹eclipse-SDK-3.4-win32后可以在该文件夹发现eclipse目录。为了使用方便,将这个eclipse目录拷贝到c:\blackberry文件夹下,“c:\blackberry”这个文件夹需要自行创建,你也可以根据你自己的喜好和习惯使用不同的文件夹名。现在,双击c:\blackberry\eclipse文件夹下的eclipse.exe就可以启动Eclipse了。在第一次启动时,Eclipse会提示你选择workspace的路径。Workspace是指工作台,你可以选择一个空的目录作为工作台,以后创建的项目都会出现在这个工作台目录下。本文以c:\blackberry\workspace作为工作台,所以在对话框中直接输入c:\blackberry\workspace,Eclipse会自动创建该目录并将其作为工作台目录。Eclipse启动后将显示欢迎界面,如图12-1:图12-1Eclipse启动关闭欢迎页面后将出现标准的java开发界面,然后Eclipse已经可以开始使用了,可以开始准备安装BlackBerryEclipsePlug-In。BlackBerryJDEPlug-InforEclipse安装BlackBerryJDEPlug-InforEclipse可以从BlackBerry官方网站上下载,网址为。该网站上提供的工具很多,其中一种是带组件包和插件平台的压缩文件,这种文件可以直接在Eclipse平台上安装,而且带有组件包和插件平台,比较方便。比如有“BlackBerryJDEPlug-inforEclipsev1.0(withtheBlackBerryJDEv4.5ComponentPack)”,说明是1.0版本的BlackBerry插件平台和4.5版本的组件包。组件包的版本和BlackBerry智能手机ROM的版本对应。所以,4.5的组件包适合开发在ROM4.5上运行的BlackBerry程序。如果你所开发的BlackBerry程序需要运行在ROM4.5以外的其它版本上,你也可以下载对应版本的组件包,在BlackBerryJDEPlug-InforEclipse安装后将4.5的组件包替换成你需要的版本。组件包替换的具体步骤在后面章节有详细描述。本文以“BlackBerryJDEPlug-inforEclipsev1.0(withtheBlackBerryJDEv4.5ComponentPack)”为例说明插件安装的过程。所下载的文件为:eJDE1.0.0.67_With_CP4.5.0.16.zip。不需要对该文件进行解压缩,直接启动Eclipse开始安装过程。启动Eclipse后选择“Help-SoftwareUpdates…”,如图12-2:图12-2创建BlackBerry项目恭喜你,你已经进入BlackBerry开发世界了,下一章将介绍如何在BlackBerryJDEPlug-InforEclipse中开发一个昀简单的客户端程序。12.3BlackBerry应用程序开发建立BlackBerry项目,BlackBerry应用以项目为单位,一个应用往往对应一个项目,在有些情况下一个应用可能会对应多个项目。所以,建立项目是创建BlackBerry应用的第一步。在本例中通过一个名为HelloWorld的项目建立第一个BlackBerry应用。在Eclipse界面中选择“File-New-Project…”,如图12-3,系统会弹出项目新建对话框以创建项目。注意这里不要选择“File-New-JavaProject”,如果选择这一项的话会创建一个普通的J2SE项目,所创建的应用程序并不能在BlackBerry模拟器或者是BlackBerry设备上运行。在项目新建对话框中展开BlackBerry项,可以看到“BlackBerryProject”项和“BlackBerryResourceFile”项。其中“BlackBerryProject”项用于创建BlackBerry项目,而“BlackBerryResourceFile”项用于创建BlackBerry项目中使用的资源文件,有关资源文件不在本文中阐述。图12-3Eclipse创建项目如果在项目新建对话框中看不到BlackBerry项,则说明BlackBerryJDEPlug-In并没有安装成功,需要重新检查上一节提到的BlackBerryJDEPlug-In安装过程,必要时需要重新安装BlackBerryJDEPlug-In.如上所述,在项目新建对话框中展开BlackBerry项,选择“BlackBerryProject”并点击“Next”开始创建BlackBerry项目。然后在项目新建对话框的“ProjectName”一栏中输入项目名,本例以“HelloWorld”作为项目名。输入项目名以后点击“Finish”完成项目新建过程,如图12-5:注意,在BlackBerry模拟器或者是BlackBerry设备中,项目名将作为应用的名称显示出来。所以,如果你希望你的应用有不同的名字,你可以从这里为应用输入你所希望使用的应用名。图12-4设置BlackBerry项目名称在不考虑代码规范情况下,在你创建了BlackBerry项目后,你可以直接在创建的项目中的src文件夹下开始创建主应用程序,所创建的类将被放入名为“default”的包中。但是java代码规范中建议不要直接在default包中创建应用,所以一般而言在项目创建后需要创建一个包,然后在这个包中创建自己希望创建的类。为了创建包,将新建的HelloWorld项目展开,找到src文件夹,对src文件夹点击右键,选择“New-Package”,系统将弹出新建包的对话框,如图12-5:图12-5创建BlackBerry项目SRC文件夹在新建包对话框的“Name”一栏中输入包名,注意包不能以com.rim开头,如果以com.rim开头的话应用程序将不能在BlackBerry设备上运行。本例以“com.bbtest.helloworld”作为包名,输入后点击“Finish”按钮,如图12-6:图12-6设置BlackBerry包在新建包后,src文件夹下将出现一个灰白色的包。创建主程序创建了包以后,就可以在这个包下开始创建主程序了。选择刚创建的包,点击右键,选择“New-Class”以创建一个类,如图12-7:图12-7创建Class文件在新建类对话框的“Name”一栏中输入类名,本例以“HelloWorld”为类名。这里不要求主应用程序的类名与项目名相同,本例只是延用习惯使用“HelloWorld”作为项目名和主应用程序类名,现实中项目名和主应用程序类名可以不同。输入类名后注意要选择“net.rim.device.api.ui.UiApplication”作为父类,要选择父类,直接点击“Superclass”栏旁边的“Browse…”按钮可以开始选择。在父类选择框中开发者可以输入父类名开头的几个字符,系统会自动查找相关的类。选择了父类后注意要选中“publicstaticvoidmain(String[]args)”选项,通过这个选项可以让系统自动生成main函数。如果在创建类的过程中没有选择这一项,也可以在类创建后手工加入main函数,但相对比较麻烦。昀后确认一下“Sourcefolder:”一栏和“Package”一栏显示的内容都正确。确认无误后点击“Finish”创建该类,如图12-8:图12-8BlackBerry项目创建完成主应用程序类创建后该类对应的java代码将自动显示在程序编辑框中,参考下面提供的完整代码在main函数中插入新建实例和运行实例的代码,并添加HelloWorld构造函数。代码添加完成,如图12-9:图12-9BlackBerry项目代码编辑窗口为了方便读者,下面提供该类的完整代码:packagecom.bbtest.helloworld;importnet.rim.device.api.ui.UiApplication;importnet.rim.device.api.ui.component.LabelField;importnet.rim.device.api.ui.container.MainScreen;publicclassHelloWorldextendsUiApplication{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubHelloWorld_app=newHelloWorld();_app.enterEventDispatcher();}publicHelloWorld(){MainScreenscreen=newMainScreen();LabelFieldlabel=newLabelField(“HelloWorld!”);screen.add(label);this.pushScreen(screen);}}输入代码后保存该类,对系统提示的错误进行修改,然后就可以开始测试这个应用程序了。完成主应用程序的代码输入后就可以开始测试该应用程序了,BlackBerryJDEPlug-InforEclipse自带有BlackBerry模拟器,可以直接在计算机上通过模拟器对应用程序进行测试。在第一次使用模拟器时需要先对模拟器进行设置,设置之后再次进行测试时就可以直接使用设置好的模拟器进行测试。要对模拟器进行设置,对项目点击右键,选择“RunAs-RunConfigurations”,系统会弹出模拟器设置界面,如图12-10:图12-10BlackBerry项目选择模拟器在模拟器设置界面中,在BlackBerrySimulator下你会发现有一个已经配置好的模拟器,名为“DebugServer”。该模拟器在一些特殊情况下可能无法正常使用。为了更详细地了解模拟器,并保证模拟