了解如何使用 IBM® WebSphere® Studio Device Developer 创建、测试简单的 Java™ 2 Micro Edition (J2ME) 应用程序并将其部署到 Blackberry 设备上。
引言
对于许多公司而言,使雇员稳定地保持与企业的连接是至关重要的。近年来,Research in Motion 的 BlackBerry 受到了广泛的追捧(在本文编撰之际,BlackBerry 用户已逾三百万),这也是其原因之一。BlackBerry 的普及大有“决堤之势”。在本文中,将了解如何使用 WebSphere Studio Developer 创建、测试应用程序并其部署到 Blackberry 设备上。
WebSphere Studio Device Developer(以下称为 Device Developer)提供了一个集成开发环境(Integrated Development Environment,IDE),用户可以在其中创建、测试和部署 J2ME 应用程序。
为了便于学习,将要按照本文介绍的步骤创建的 MIDlet 示例应用程序相当简单:它接受用户的输入文本,并调换文本的文字位置,然后向用户显示调换后的文本。例如,如果用户输入文本 IBM,它将返回颠倒顺序的,或者说,镜像后的文本 MBI。


|
回页首 |
|
先决条件
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 的信息,请参阅参考资料。
另外,还必须安装以下软件:
- Java 2 SDK,Standard Edition V5.0
- WebSphere Studio Device DeveloperDevice Developer 是 IBM WorkSpace Client Technology Micro Edition 5.7 Integrated Package 的一部分。有关下载 Device Developer 试用版的信息,请参阅参考资料。
您应该具备 Eclipse 和 BlackBerry JDE 的基本知识。


|
回页首 |
|
创建应用程序
首先,我们需要使用 Device Developer 来创建我们的 MIDlet 应用程序。我们会将 MIDlet 放置到一个 MIDlet Suite 中。
- 创建新 MIDlet Suite 项目,然后单击 Next,如图 1 中所示:
图 1. 创建 MIDlet Suite 项目
- 在 MIDlet Suite Creation 屏幕上,执行以下操作:
- 输入
MirrorMidlet 作为 MIDlet 名称。
- 在 Midlet Suite Name 字段中输入
MirrorMidletSuite。
- 为 MIDP Version 选择 2.0。
- 输入
Mirror Midlet
- 输入 MIDlet 类的相关信息,Package 为
com.ibm.test,Name 为 MirrorMidlet,然后单击 Next。
图 2. 创建 MIDlet Suite
- 选择缺省的 J9 JVM ive-2.2,然后单击 Finish。
图 3. 选择 JVM
- MIDP Visual Editor 将随即启动。因为在本文中我们不会使用可视化编辑器,因此可以继续后面的操作而将其关闭。
- 至此,我们的 MIDlet 已初具雏形。我们需要对其进行编辑,使之能够完成前面提到的位置调换功能。为此,请右键单击 MirrorMidlet.java,并选择 Open with => Java Editor。
- 用以下代码替换现有的类定义:
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);
|
- 将以下代码添加到
protected void startApp():
// Init form
form.append(input);
form.addCommand(commandConvert);
form.setCommandListener(this);
|
- 添加以下方法:
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);
}
}
|
以上代码实现位置调换功能。位置调换逻辑的核心在于 commandAction 方法的 if 语句,该语句直接使用 for 循环对输入字符数组中的字母进行位置调换。
- 现在右键单击 MirrorMidlet 项目并选择 Build Project,从而构建该项目。
创建 Java 应用程序描述符(Java Application Descriptor,JAD)和 JAR 文件。
现在已经完成了代码,接下来需要创建 JAR 文件及关联的 JAD 文件,以便部署到 J2ME 设备。为此,必须通过完成以下步骤来建立一个构建版本。
- 右键单击 MirrorMidlet 项目并选择 Device Developer Builds。
- 选择 Add,以创建新构建版本。
- 在 Create generic JAR 窗口上单击 Next。
图 4. 创建通用 JAR
- 在 Create new build 窗口中选择 Generic JAR,然后单击 Finish。
图 5. 创建新构建版本
- 在 Configure Builds 窗口中选择 Run,以构建 JAD 和 JAR 文件,生成的文件位于 generic/ 文件夹中。
图 6. 配置构建版本
- 可选方法:如果项目有关联的图像或其他资源,请完成以下步骤以将其包含进来:
- 编辑 generic/MirrorMidletSuite.jexlinkOptions,然后选择 Source 选项卡。
- 使用
-cp 添加包含附加资源的文件夹的位置。
- 要包含这些资源,请指定
includeResource "*.xxx"(例如,*.png),如下所示。
图 7. 添加图像


|
回页首 |
|
调试应用程序
将应用程序部署到 BlackBerry 设备之前,可以使用 Device Developer IDE 内置的调试器调试 J2ME 应用程序,其步骤如下:
- 在项目内设置断点,如图所示:
图 8. 设置断点
- 选择 Run => Debug,然后选择 MirrorMidlet Suite,再选择 New,以创建新的调试配置文件。
- 选择 ive-2.2 缺省的 JRE 和 MirrorMidletSuite.jad。
- 单击 Debug,以开始调试 MIDlet。
图 9. 调试


|
回页首 |
|
部署应用程序
现在 JAR 文件已经准备好,可以接下来将其部署到 J2ME 设备上。不过,我们不能将此 JAR 文件直接部署到 BlackBerry 设备上。首先,必须将此 JAR 文件转换为 BlackBerry 的 .cod 格式。为此,请完成以下步骤:
- 创建与 Blackberry JDE 一起使用的 jartocod.bat 文件,如下所示:
@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 JDE
4.1.0\lib\net_rim_api.jar" codename=%3 -midlet jad=%1 %2
|
- 将前面创建的 JAD 和 JAR 文件从 generic/ 文件夹复制到 jartocod.bat 所在目录。
- 输入以下命令:
jartocod.bat MirrorMidletSuite.jad MirrorMidletSuite.jar MirrorMidlet.
现在已经得到了 BlackBerry 可以理解的 .cod 文件。
部署到 BlackBerry 模拟器
- 选择 Start => Research In Motion => BlackBerry JDE => Device Simulator,以启动 BlackBerry Device Simulator。
- 加载模拟器后,选择 File => Load Java Program 来安装 .cod 文件。
图 10. 安装 .cod 文件
- 浏览至包含 .cod 文件的目录,并打开该文件。
图 11. 打开 .cod 文件
- 在 BlackBerry Simulator 桌面找到相应的图标,并启动它。提示:上下方向键的功能相当于由 BlackBerry 按钮模拟的“Select”和“Back”。
图 12. 启动 MirrorMidlet
- 从上下文菜单选择“Transpose”功能,以观察 Mirror MIDlet 在 BlackBerry 模拟器上的工作情况。
图 13. 选择“Transpose”
部署到实际的 BlackBerry 设备
将 .cod 文件部署到实际 BlackBerry 设备的过程十分简单:
- 首先,创建与 Blackberry JDE 一起使用的 installcod.bat 文件,如下所示:
@ECHO "Syntax: installcod.bat COD_NAME.cod"
:RUN
@"C:\Program Files\Research In Motion\BlackBerry JDE 4.1.0\bin\javaloader" -u load %1
|
- 接下来,使用 USB 数据线将 BlackBerry 设备接入计算机,并执行 installcod.bat 批处理文件,以将 MIDlet 安装到 BlackBerry 设备上。


|
回页首 |
|
结束语
在本文中,我们了解了如何利用 IBM WebSphere Device Developer 的强大功能来构建和测试 J2ME 应用程序,并随后将其部署到 BlackBerry 平台上。在本文中,我们创建的 J2ME 应用程序不需要通过网络进行交互即可完成其功能。在下一篇文章中,我们将介绍如何使用 Device Developer 创建更为复杂的 BlackBerry 应用程序,以调用 WebSphere Application Server 上的 Web 服务。 |