corner imagecorner image
FeaturesPluginsDocs & SupportCommunityPartners

开发用于多个设备的 Mobile 应用程序

本教程是帮助开发者着手开发 MIDP 和 CDC 应用程序的系列教程之二。强烈建议您先学完 MIDP 快速入门指南,然后再开始学习本教程。我们将继续构建在该教程中完成的 "MyHello" 项目,并说明如何将其部署到不同的仿真器以及如何针对特定的设备环境定制代码。请注意,本教程中介绍的概念以及演示的方法同样也适用于在 IDE 中创建的 CDC 应用程序。

目录

本页上的内容适用于 NetBeans IDE 6.0 和 6.1

所需的软件

您必须首先安装 JDK 5 或更高版本以及 NetBeans IDE Mobility 版本或完整版本(下载),然后才能着手开发 Java ME MIDP/CLDC 应用程序。有关设置系统的帮助,请参见安装说明。

添加仿真器平台

仿真器平台由移动电话制造商提供,开发者可以使用该平台来模拟特定移动设备的行为,从而帮助调试他们所创建的应用程序。NetBeans IDE Mobility 包括 Sun Java Wireless Toolkit,并且支持许多其他软件开发工具包 (Software Development Kit, SDK),您可以从 Nokia、Sony Ericsson 和 Motorola 等供应商站点下载这些工具包。查看 NetBeans Mobility 常见问题解答,可以找到支持的 MIDP 仿真器列表。

添加新的仿真器平台

  1. 从主工具栏中选择“工具”>“Java 平台”。
  2. 在“Java 平台管理器”对话框中,单击“添加平台”按钮。
  3. 在“选择平台类型”页中,选择“Java ME MIDP 平台仿真器”。单击“下一步”。
  4. 在“平台文件夹”页中,IDE 将搜索所有可用的 Java ME 平台并将这些平台列在窗口中。同时,还会验证平台是否符合统一仿真器接口 (Unified Emulator Interface, UEI) 标准;如果符合该标准,则将选中平台名称旁边的复选框。不符合 UEI 的平台或者由于其他原因而无法安装的平台将以红色列出。该向导还可标识已安装了哪些平台。注意:要安装不符合 UEI 的平台,请单击“上一步”按钮,然后选择“定制 Java ME 平台仿真器”。
  5. 在“平台文件夹”页中,选中要安装的任何平台仿真器旁边的复选框。检测到平台后,便会对其进行安装。单击“完成”。然后,单击“关闭”。
  6. 在“文件”窗口中,右键单击 "MyHello" 项目节点,然后选择“属性”。
  7. 选择“平台”节点,然后从“仿真器平台”下拉菜单中选择新仿真器的名称(例如,"Sun Java Wireless Toolkit 2.5.2")。单击“确定”。

更改缺省仿真器设备

  1. 右键单击 "MyHello" 项目节点,然后选择“属性”。在“属性”对话框中,选择“平台”节点。此时,您便可以更改缺省配置中的设备。
  2. 单击“设备”下拉列表,然后选择 "QwertyDevice"。单击“确定”。
  3. 再次运行应用程序,此时将在 QwertyDevice 仿真器中运行。

使用配置

使用配置,可以为项目创建多组分发 JAR 和 Java 应用程序描述符 (Java Application Descriptor, JAD) 文件。这样,您便可以创建一组源代码,然后针对要为其编程的每个移动设备来定制这些源代码。

添加配置

  1. 右键单击 "MyHello" 项目节点,然后选择“属性”。在“属性”对话框中,从“项目配置”下拉列表中选择“添加配置”。将打开“添加配置”对话框。
  2. 在“配置名称”字段中为配置输入一个名称。该名称应标识目标平台,您将在该平台上部署为此配置创建的 JAR/JAD。在本例中,请输入 BlackWhiteDisplay,然后单击“确定”。您刚刚创建了一个新配置。
  3. 此外,也可以通过单击“属性”对话框中的“管理配置”按钮来添加配置。此时将显示“项目配置管理器”对话框,其中包含用于添加、删除或复制配置的选项。

更改项目配置

使用“新建项目”向导中的模板,可以创建不同类型的项目配置。此外,也可以使用主工具栏中的配置下拉菜单来快速更改项目配置。

定制配置

您可以根据需要在项目中添加任意数量的配置。然后,可以在项目“属性”对话框中修改所添加的每个配置的设置。

  1. 右键单击 "MyHello" 项目节点,然后选择“属性”。在“属性”对话框中,选择“平台”节点。
  2. 从“属性”对话框顶部的配置组合框中选择 "BlackWhiteDisplay" 配置。
  3. 将禁用“平台”对话框中的所有组件。这是因为此配置当前采用的是该面板的缺省配置所使用的值。取消选中面板顶部的“使用 "DefaultConfiguration" 中的值”选项。现在,可以编辑该面板上的所有组件。
  4. 将“设备”选项更改为 "DefaultGrayPhone"。
  5. 切换“属性”对话框顶部的“项目配置”对话框,并观察“设备”选项随当前选定的配置而发生变化的情况。这种配置定制方法适用于该对话框中的每个面板(“常规”面板除外)。单击“确定”保存所做的配置更改,并退出“属性”对话框。

创建性能

性能是项目配置的特定属性。它既可以是物理属性(如屏幕大小),也可以是配置所支持的 API 或 JSR。您可以创建一个新性能,并将其与一个或多个项目配置相关联。然后,可以使用预处理程序代码块将某些代码与该性能相关联。之后,如果需要添加或删除配置,则无需检查所有代码,也无需将此配置与每个代码块相关联。您只需将该性能添加到配置中。然后,此配置便会自动与该性能所关联的任何代码块相关联。

  1. 右键单击 "MyHello" 项目节点,然后选择“属性”。
  2. 从“类别”菜单树中选择“性能”页。
  3. 从“项目配置”下拉菜单中选择一个配置。这会将性能与该配置相关联。
  4. 如有必要,请取消选中“使用 "DefaultConfiguration" 中的值”复选框。
  5. 单击“添加”按钮。将打开“添加性能”对话框。
  6. 在“添加性能”对话框中,输入性能的名称,或者从下拉菜单中选择一个性能。(可选)输入性能的值。单击“确定”关闭“添加性能”对话框。现在,该性能将与选定的项目配置相关联。

此外,也可以将该性能与其他配置相关联,方法是:从“项目配置”菜单中选择一个不同的配置,然后单击“添加”按钮。

为特定配置添加预处理程序代码

使用预处理程序块,可以创建、管理和跟踪特定于一个或多个项目配置或性能的代码。该代码仅对所标识的配置或性能启用(或禁用)。

  1. 在 HelloMIDlet.java 编辑器窗口中,右键单击实例化 TextBox 的源代码行 (helloTextBox = new javax.microedition.lcdui.TextBox(null, "Make my day",120, 0x0);)。
  2. 右键单击该行,然后选择“预处理程序块”>“创建 If/Else 块”。在第一个粉红色部分,将 "Color" 一词添加到 "Hello World" 字符串后面。在第二个灰色部分,将 "Gray" 添加到 "Make my day" 字符串后面。
  3. 当活动配置与指令值(在本例中为 DefaultConfiguration)相匹配时,//#if 预处理程序指令所标记的代码将生效。当活动配置与预处理程序的值不匹配时,将使用 //#else 预处理程序指令所标记的代码。也就是说,当活动平台为 "DefaultConfiguration" 时,仿真器将显示 "Make my day Color";当活动平台为任何其他仿真器平台时,仿真器将显示 "Hello World Gray"。//#endif 预处理程序指令用于结束预处理程序块。
  4. 您可以按照更改仿真器平台中的说明,通过使用不同的仿真器设备运行 MIDlet 来测试预处理程序代码。

运行配置

既可以单独生成并运行一个配置,也可以同时生成并运行多个配置。

  1. 右键单击 "MyHelloMIDlet" 项目节点,然后选择“运行”。
  2. 使用工具栏中的配置组合框将配置更改为 "BlackWhiteDisplay"。再次选择“运行”。
  3. 将出现两个仿真器,一个为彩色,一个为灰色。灰色仿真器将显示 "Make my day Gray",彩色仿真器将显示 "Make my day Color"。
  • 要同时生成多个配置,请右键单击项目,然后选择“批量生成”。在打开的对话框中,选中要生成的每个配置旁边的复选框。
  • 要快速测试设备,请右键单击项目,然后选择“运行方式”。在打开的对话框中,选择仿真器平台以及要运行的设备。

另请参见

至此,我们已创建了一个简单的应用程序,在多个仿真器上启动了该应用程序,并添加了代码定制以确保可将其正确部署到多个设备上。开发 MIDP 和 CLDC 应用程序的下一步是了解其他有关解决设备破碎问题的技术。

Bookmark this page

del.icio.us furl simpy slashdot technorati digg
Companion
Projects:
MySQL Database Server   GlassFish Community: an Open Source Application Server   Open Solaris  Open JDK: an Open SourceJDK   Mobile & Embedded Community     Sponsored by 
Sponsored by Sun Microsystems