air88416 2007-8-19 18:10
BB的J2ME开发
BlackBerry Java 开发环境(Java Development Environment,JDE)仅运行在 Windows® 操作系统上,由一个 IDE 和多个 BlackBerry 模拟器工具组成;BlackBerry 模拟器工具可以让您准确地了解所创建的 J2ME 应用程序在 BlackBerry 设备上的工作情况。在本文中,我们将使用 Device Developer IDE,而不使用随 BlackBerry JDE 一起提供的 IDE。但是,为了使用 BlackBerry 模拟环境,仍然需要下载并安装 BlackBerry JDE。这样就可以观察所创建的 J2ME 应用程序在实际的 BlackBerry 设备上的运行情况。有关下载 BlackBerry JDE 的信息,请参阅[url=http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0603_bhogal/0603_bhogal.html#Resources][color=#996699]参考资料[/color][/url]。
另外,还必须安装以下软件:
[list][*]Java 2 SDK,Standard Edition V5.0[*]WebSphere Studio Device DeveloperDevice Developer 是 IBM WorkSpace Client Technology Micro Edition 5.7 Integrated Package 的一部分。有关下载 Device Developer 试用版的信息,请参阅[url=http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0603_bhogal/0603_bhogal.html#Resources][color=#996699]参考资料[/color][/url]。[/list]您应该具备 Eclipse 和 BlackBerry JDE 的基本知识。
[table=98%][tr][td][img]http://www.ibm.com/i/v14/rules/blue_rule.gif[/img]
[img=8,6]http://www.ibm.com/i/c.gif[/img][/td][/tr][/table][table][tr][td][img]http://www.ibm.com/i/c.gif[/img]
[table][tr][td][img=16,16]http://www.ibm.com/i/v14/icons/u_bold.gif[/img]
[/td][td][url=http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0603_bhogal/0603_bhogal.html#main][b][color=#996699]回页首[/color][/b][/url][/td][/tr][/table][/td][/tr][/table]
首先,我们需要使用 Device Developer 来创建我们的 MIDlet 应用程序。我们会将 MIDlet 放置到一个 MIDlet Suite 中。
[list=1][*]创建新 MIDlet Suite 项目,然后单击 [b]Next[/b],如图 1 中所示:
[img=546,518]http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0603_bhogal/images/figure1.gif[/img][*]在 MIDlet Suite Creation 屏幕上,执行以下操作:[list=1][*]输入 [font=新宋体]MirrorMidlet[/font] 作为 MIDlet 名称。[*]在 [b]Midlet Suite Name[/b] 字段中输入 [font=新宋体]MirrorMidletSuite[/font]。[*]为 MIDP Version 选择 [b]2.0[/b]。[*]输入 [font=新宋体]Mirror Midlet[/font][*]输入 MIDlet 类的相关信息,[b]Package[/b] 为 [font=新宋体]com.ibm.test[/font],[b]Name[/b] 为 [font=新宋体]MirrorMidlet[/font],然后单击 [b]Next[/b]。
[img=504,468]http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0603_bhogal/images/figure2.gif[/img][/list][*]选择缺省的 J9 JVM [b]ive-2.2[/b],然后单击 [b]Finish[/b]。
[img=515,479]http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0603_bhogal/images/figure3.gif[/img][*]MIDP Visual Editor 将随即启动。因为在本文中我们不会使用可视化编辑器,因此可以继续后面的操作而将其关闭。[*]至此,我们的 MIDlet 已初具雏形。我们需要对其进行编辑,使之能够完成前面提到的位置调换功能。为此,请右键单击 [b]MirrorMidlet.java[/b],并选择 [b]Open with => Java Editor[/b]。[*]用以下代码替换现有的类定义:
[table=80%][tr][td]public class MirrorMidlet extends MIDlet implements CommandListener { protected Form form; protected TextField input = new TextField("String:", null, 128, TextField.ANY); Command commandConvert = new Command("Convert", Command.OK, 1); [/td][/tr][/table][*]将以下代码添加到 [font=新宋体]protected void startApp()[/font]:
[table=80%][tr][td]// Init formform.append(input);form.addCommand(commandConvert);form.setCommandListener(this); [/td][/tr][/table][*]添加以下方法:
[table=80%][tr][td]public void commandAction(Command aCommand, Displayable aDisplayable) { if (aCommand == commandConvert){ char aChar; int size = input.size(); char[] charArray = new char[size]; // determine inverse input.getChars(charArray); for (int i = 0; i < size / 2; i++){ aChar = charArray[i]; charArray[i] = charArray[size-1-i]; charArray[size-1-i] = aChar; } // update screen input.setChars(charArray, 0, size); } } [/td][/tr][/table]
以上代码实现位置调换功能。位置调换逻辑的核心在于 [font=新宋体]commandAction[/font] 方法的 [font=新宋体]if[/font] 语句,该语句直接使用 [font=新宋体]for[/font] 循环对输入字符数组中的字母进行位置调换。[*]现在右键单击 MirrorMidlet 项目并选择 [b]Build Project[/b],从而构建该项目。[/list]
现在已经完成了代码,接下来需要创建 JAR 文件及关联的 JAD 文件,以便部署到 J2ME 设备。为此,必须通过完成以下步骤来建立一个构建版本。
[list=1][*]右键单击 MirrorMidlet 项目并选择 [b]Device Developer Builds[/b]。[*]选择 [b]Add[/b],以创建新构建版本。[*]在 Create generic JAR 窗口上单击 [b]Next[/b]。
[img=515,455]http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0603_bhogal/images/figure6.gif[/img][*]在 Create new build 窗口中选择 [b]Generic JAR[/b],然后单击 [b]Finish[/b]。
[img=539,475]http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0603_bhogal/images/figure7.gif[/img][*]在 Configure Builds 窗口中选择 [b]Run[/b],以构建 JAD 和 JAR 文件,生成的文件位于 generic/ 文件夹中。
[img=564,422]http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0603_bhogal/images/figure8.gif[/img][*]可选方法:如果项目有关联的图像或其他资源,请完成以下步骤以将其包含进来:[list=1][*]编辑 generic/MirrorMidletSuite.jexlinkOptions,然后选择 [b]Source[/b] 选项卡。[*]使用 [font=新宋体]-cp[/font] 添加包含附加资源的文件夹的位置。[*]要包含这些资源,请指定 [font=新宋体]includeResource "*.[i]xxx[/i]"[/font](例如,*.png),如下所示。
[img=572,514]http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0603_bhogal/images/figure9.gif[/img][/list][/list]
[table=98%][tr][td][img]http://www.ibm.com/i/v14/rules/blue_rule.gif[/img]
[img=8,6]http://www.ibm.com/i/c.gif[/img][/td][/tr][/table][table][tr][td][img]http://www.ibm.com/i/c.gif[/img]
[table][tr][td][img=16,16]http://www.ibm.com/i/v14/icons/u_bold.gif[/img]
[/td][td][url=http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0603_bhogal/0603_bhogal.html#main][b][color=#996699]回页首[/color][/b][/url][/td][/tr][/table][/td][/tr][/table]
将应用程序部署到 BlackBerry 设备之前,可以使用 Device Developer IDE 内置的调试器调试 J2ME 应用程序,其步骤如下:
[list=1][*]在项目内设置断点,如图所示:
[img=441,399]http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0603_bhogal/images/figure10.gif[/img][*]选择 [b]Run => Debug[/b],然后选择 [b]MirrorMidlet Suite[/b],再选择 [b]New[/b],以创建新的调试配置文件。[*]选择 [b]ive-2.2[/b] 缺省的 JRE 和 [b]MirrorMidletSuite.jad[/b]。[*]单击 [b]Debug[/b],以开始调试 MIDlet。
[img=572,363]http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0603_bhogal/images/figure11.gif[/img][/list]
[table=98%][tr][td][img]http://www.ibm.com/i/v14/rules/blue_rule.gif[/img]
[img=8,6]http://www.ibm.com/i/c.gif[/img][/td][/tr][/table][table][tr][td][img]http://www.ibm.com/i/c.gif[/img]
[table][tr][td][img=16,16]http://www.ibm.com/i/v14/icons/u_bold.gif[/img]
[/td][td][url=http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0603_bhogal/0603_bhogal.html#main][b][color=#996699]回页首[/color][/b][/url][/td][/tr][/table][/td][/tr][/table]
现在 JAR 文件已经准备好,可以接下来将其部署到 J2ME 设备上。不过,我们不能将此 JAR 文件直接部署到 BlackBerry 设备上。首先,必须将此 JAR 文件转换为 BlackBerry 的 .cod 格式。为此,请完成以下步骤:
[list=1][*]创建与 Blackberry JDE 一起使用的 jartocod.bat 文件,如下所示: [table=80%][tr][td]@ECHO "Syntax: jartocod.bat JAD_NAME JAR_NAME OUTPUT_NAME" :RUN@"C:\Program Files\Research In Motion\BlackBerry JDE 4.1.0\bin\rapc"import="C:\Program Files\Research In Motion\BlackBerry JDE4.1.0\lib\net_rim_api.jar" codename=%3 -midlet jad=%1 %2 [/td][/tr][/table][*]将前面创建的 JAD 和 JAR 文件从 generic/ 文件夹复制到 jartocod.bat 所在目录。[*]输入以下命令: [font=新宋体]jartocod.bat MirrorMidletSuite.jad MirrorMidletSuite.jar MirrorMidlet[/font].[/list]现在已经得到了 BlackBerry 可以理解的 .cod 文件。
[list=1][*]选择 [b]Start => Research In Motion => BlackBerry JDE => Device Simulator[/b],以启动 BlackBerry Device Simulator。[*]加载模拟器后,选择 [b]File => Load Java Program[/b] 来安装 .cod 文件。
[img=314,520]http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0603_bhogal/images/figure12.gif[/img][*]浏览至包含 .cod 文件的目录,并打开该文件。
[img=528,390]http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0603_bhogal/images/figure13.gif[/img][*]在 BlackBerry Simulator 桌面找到相应的图标,并启动它。提示:上下方向键的功能相当于由 BlackBerry 按钮模拟的“Select”和“Back”。
[img=323,534]http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0603_bhogal/images/figure14.gif[/img][*]从上下文菜单选择“Transpose”功能,以观察 Mirror MIDlet 在 BlackBerry 模拟器上的工作情况。
[img=322,533]http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0603_bhogal/images/figure15.gif[/img][/list]
将 .cod 文件部署到实际 BlackBerry 设备的过程十分简单:
[list=1][*]首先,创建与 Blackberry JDE 一起使用的 installcod.bat 文件,如下所示:
[table=80%][tr][td]@ECHO "Syntax: installcod.bat COD_NAME.cod" :RUN@"C:\Program Files\Research In Motion\BlackBerry JDE 4.1.0\bin\javaloader" -u load %1 [/td][/tr][/table][*]接下来,使用 USB 数据线将 BlackBerry 设备接入计算机,并执行 installcod.bat 批处理文件,以将 MIDlet 安装到 BlackBerry 设备上。[/list]
[table=98%][tr][td][img]http://www.ibm.com/i/v14/rules/blue_rule.gif[/img]
[img=8,6]http://www.ibm.com/i/c.gif[/img][/td][/tr][/table][table][tr][td][img]http://www.ibm.com/i/c.gif[/img]
[table][tr][td][img=16,16]http://www.ibm.com/i/v14/icons/u_bold.gif[/img]
[/td][td][url=http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0603_bhogal/0603_bhogal.html#main][b][color=#996699]回页首[/color][/b][/url][/td][/tr][/table][/td][/tr][/table]
[list][*][/list]
[b]获得产品[/b]