用Eclipse开发BlackBerry应用程序

基本开发环境的搭建:

 

如果要为黑莓手机开发Java应用程序,那么我们有两套开发环境可以选择,一个是RIM自己提供的JDE,一个是用eclipse加JDE插件。大多数Java开发者应该对Eclipse比较熟悉啦,所以我也义无反顾的选择了Eclipse。于是就去blackberry.com查文档,发现Java开发的文档分为TutorialsManuals and Guides,我在Setting up Necessare Tools中找到了安装方法,虽然它是for 5.0 beta的,不过按它的方法装4.5也没问题。我猜RIM的文档似乎应该以新版本为准,Blackberry Java Development Environment - 4.5.0 - Development Guide中记录的JDE与Eclipse集成方式似乎已经不必要了。顺便一说,RIM的文档还是比较粗的,各文档内容很少重复,但是相互之间却没有链接,具体要下什么东西,下回来怎么装都写得不甚清楚,所以摸索了一阵子才装好,这里就总结一下吧:

  1. 下载并安装JDK 6 u12以上的版本,我装的是JDK 6 u18。
  2. 下载并安装Eclipse,我装的是3.4.1 Classic,RIM说3.4.0或3.4.1都行,我也装过3.5.0,感觉也可以,但网上有人说3.5.0有问题,还是保守点儿吧。
  3. 下载并安装JDE 4.5.0。RIM建议把4.3到4.7都下回来,我觉得似乎不必要,就下4.5装了。
  4. 下载并安装BlackBerry_JDE_PluginFull_1.0.0.67
  5. 现在可以为4.5版的OS开发应用了,如果想给其它版本的OS开发,可以下载这里列出的component packs,或者把http://www.blackberry.com/go/eclipseUpdate加入eclipse的升级管理器。
    • 打开Eclipse,点击“Help”->“Software Updates”
    • 点击“Available Software”->“Add Site”
    • 现在有两个选择:
      • 输入http://www.blackberry.com/go/eclipseUpdate,点击“OK”。不过我是从来没连上过这个更新站点……
      • 或是点击“Archive”,选择下载来的component pack,点击“打开”。我就是这样逐个下载安装的。
  6. 可以对Eclipse做一些配置:点击“Window”->“Preferences”->“General”->“Workspace”,钩上“Save automatically before build”,取消“Build automatically”和“Refresh automatically”。
  7. 在Component Package之间切换:点击“Window”->“Preferences”->“BlackBerry JDE”->“Installed Package”,就可以在右侧的下拉列表中选择不同版本的Component Package了。

运行HelloWorld

 

RIM提供了很多程序示例给我们,它们位于类似“eclipse/plugins/net.rim.eide.componentpack4.5.0_4.5.0.16/components/samples”的路径下,我们现在就用com.rim.sample.device.helloworlddemo.HelloWorldDemo来测试一下开发环境的安装是否正确。

  1. 在Eclipse中,选择“File”->“New”->“Project”->“BlackBerry”->“BlackBerry Project”,点“Next”按钮,随便填入一个名字后按“Finish”
  2. 选中新建的项目,打开“File”->“New”->“Class”,在“Package”中填“com.rim.samples.device.helloworlddemo”,“Name”中填“HelloWorldDemo”,然后点击“Finish”
  3. 复制“samples/com/rim/samples/device/helloworlddemo/HelloWorldDemo.java”的内容到新建的文件中,保存一下。(可能会提示以GBK编码无法保存,我在Preferences中将Text Editors和Workspace的编码都改为“UTF-8”,就可以了)
  4. 点击“Run”菜单中的“Run”,设备模拟器会自动运行,可以在里面找到刚才写的程序,试着运行一下,应该能够在模拟器屏幕上显示“Hello World”。

 

在模拟器中测试HTTP应用程序

 

RIM提供的设备模拟器名叫Fledge,由于Fledge没法像真的手机一样使用移动通信网络,所以也没办法直接上网,那怎样才能用模拟器测试HTTP应用呢?我们知道开通了数据服务的黑莓手机可以通过MDS服务器访问HTTP网站,类似的,RIM也为设备模拟器提供了MDS模拟器。在Eclipse中打开“Window”->“Preferences”->“BlackBerry JDE”->“MDS Simulator”,就可以看到MDS模拟器的路径,手动执行该路径下的run.bat,再启动设备模拟器,就可以在其中上网了。

 

也可以对Eclipse做些配置,让它每次启动Fledge前自动运行MDS模拟器。Development Guide - BlackBerry Java Plug-in for Eclipse中记载了配置方法:

  1. 在Eclipse的“Run”菜单中,选择“Run Configurations”或“Debug Configurations”
  2. 展开“BlackBerry Simulator”项
  3. 接下来有两种选择
    • 如果要使用已经存在的配置,比如“DebugServer”,那么选中它
    • 如果要新建一个配置,就双击“BalckBerry Simulator”,并选中新建的配置
  4. 点击“Simulator”标签,在“Profile”一栏点击“New”按钮,为新配置起个名字后点“OK”
  5. 钩选上“Lanch Mobile Device System Connection Service (MDS-CS) with simulator”,点“Apply”
  6. 点“Run”就可以运行了。

现在试一下,应该可以通过模拟器中的浏览器上网了。 

 

 

在模拟器中测试E-mail应用

 

虽然设备模拟器能通过MDS模拟器上网,但它无法使用黑莓数据服务收发邮件,那么应该怎样测试E-mail应用呢?RIM自然也意识到了这个问题,于是为我们提供了Email Server Simulaor,简称ESS。ESS和MDS模拟器一样随JDE插件提供,位于类似“eclipse/plugins/net.rim.eide.componentpack4.5.0_4.5.0.16/components/ESS”的位置,在这里手动执行load.bat后即可运行。Development Guide - BlackBerry Smartphone Simulator中对ESS做了介绍,这里我结合自己的经验来谈谈:

 

ESS运行起来以后有两种模式可以选,一个是“Standalone mode”,一个是“Connected mode”。

  • “Standalone mode”中ESS模拟了一个邮件服务器,对外开放25和110端口,可以用Outlook Express和它通信。Outlook Express发送的邮件会直接推送到手机模拟器Fledge中,而Fledge发出的邮件也会转送给Outlook Express。配置的时候,在Outlook Express中新建一个帐户,设置pop3和smtp服务器为localhost,邮箱名和密码可以随便填;ESS这边用户名、邮箱名、PIN码也可以随意填,只要符合格式就行了,不必与Outlook Express的配置相同。配完以后点“Lanch”启动ESS,确保“Lanch”按钮变灰就行了。之后可以用Fledge和Outlook Express互相发邮件测试一下,邮件地址可以随意填,不会收不到的。
  • “Connected mode”中ESS模拟了一个邮件客户端,它可以从外部的邮件服务器接收邮件,并推送给Fledge;也可以从Fledge接收邮件,再通过外部邮件服务器发送出去。然而RIM似乎忘了让ESS支持smtp身份验证,所以这种方式我还没用成功过……哪位用起来了可以通知我一声,呵呵。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值