站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Netbeans 专题NetBeans Mobility Pack 5.0 快速入门指南

NetBeans Mobility Pack 5.0 快速入门指南

摘要: NetBeans Mobility Pack 5.0 快速入门指南 反馈 本文档向您介绍使用 NetBeans IDE 5.0 创建 Java!' Platform, Micro Edition (J...
NetBeans Mobility Pack 5.0 快速入门指南

本文档向您介绍使用 NetBeans IDE 5.0 创建 Java!" Platform, Micro Edition (Java!" ME platform) , Mobile Information Device Profile (MIDP) 应用程序的基本知识。本文档旨在让您快速入门。以下文档提供有关在 NetBeans 开发环境中使用 Java ME 支持的更多信息。

以下简短教程向您介绍了使用新项目系统的一些基本步骤。我们将向您介绍两种创建名为“MyHello”的 Java ME MIDP 项目的方法,该项目在设备仿真器中显示文本“Hello World”。

要求

在进行 Java ME MIDP 开发前必须安装 NetBeans IDE 5.0 和 NetBeans Mobility Pack 5.0。有关下载和安装完整环境的说明,请参见 Mobility Pack 下载页

使用可视化 Mobile 设计器创建 MIDP 应用程序

NetBeans IDE 提供了使您能够快速创建 MIDP 项目的向导。创建项目时,可以选择在 Visual Mobile Designer (VMD) 或 Source Code Editor 中开发应用程序。

使用 Visual Mobile Designe r时,您能够以图形方式规划应用程序流并设计应用程序所使用的界面。该设计器自动为应用程序创建代码。

创建 MIDP 应用程序

  1. 选择 File > New Project (Ctrl-Shift-N)。在 Categories 下,选择 Mobile。在 Projects 下,选择 Mobile Application, 然后单击 Next。
  2. 在 Project Name 字段输入 MyHello。把 Project Location 更改到系统的任意目录中。从此现在开始, 把此目录称为 $PROJECTHOME
  3. 选中 Set as Main Project 和 Create Hello MIDlet 复选框(两个复选框默认情况下是选中的)。单击 Next。
  4. 使 J2ME Wireless Toolkit 作为选中的目标平台。
  5. 单击 Finish。IDE 创建 $PROJECTHOME./MyHello 项目文件夹。项目文件夹包括所有的源代码和项目元数据,例如项目 Ant 脚本。
    应用程序本身显示在 Visual Mobile Designer 的 Flow Design 窗口中。

编辑 Java 源代码

现在,让我们编辑 MIDlet 所显示的文本。

  1. 单击 Screen Design。
    这将打开 Screen Designer 窗口,并显示 helloForm[Form] 界面,它是应用程序中可以使用的惟一界面。
  2. 双击“Hello world!”文本并键入一些新文本。

编译和运行项目

  1. 从 Run 菜单选择 Run > Run Main Project (F6)。双击 Output 窗口使它最大化,以便能看到所有的输出。注意在执行之前构建 HelloMIDlet.java 文件。设备仿真器打开以显示执行的 MIDlet 的结果。默认的设备仿真器是 DefaultColorPhone
  2. 在设备仿真器窗口,单击 Launch 命令下的按钮。设备仿真器启动 MIDlet 并显示在源代码中输入的文本。
  3. 单击 Exit 下的按钮以关闭 MIDlet。然后单击设备右上角的按钮来关闭仿真器窗口。

使用 Source Editor 创建 MIDP 应用程序

使用Source Code Editor,可以手动为 MIDlets 创建代码。在 Source Code Editor 中创建代码使您在编辑代码时具有更多的灵活性,可以插入预处理器代码块。

现在我们将使用 New Project 和 New File 向导创建同一个应用程序,并使用 Source Editor 完成代码。

创建新 Java ME MIDP 项目

  1. 选择 File > New Project (Ctrl-Shift-N)。在 Categories 下,选择 Mobile。在 Projects 下,选择 Mobile Application, 然后单击 Next。
  2. MyHelloMIDlet 字段输入 MyHelloMIDlet。把 Project Location 更改到系统的任意目录中。从此现在开始, 把此目录称为 $PROJECTHOME
  3. 选中 Set as Main Project 复选框,并取消选中 Create Hello MIDlet 复选框。单击 Next。
  4. 使 J2ME Wireless Toolkit 作为选中的目标平台。
  5. 单击 Finish。IDE 创建 $PROJECTHOME./MyHelloMIDlet 项目文件夹。项目文件夹包括所有的源代码和项目元数据,例如项目 Ant 脚本。
  6. 右键单击 Explorer 窗口中的 MyHelloMIDlet 节点,然后选择 New > File/Folder。
  7. 在 Categories 下,选择 MIDP。在 File Types 下,选择 MIDlet。单击 Next。
  8. 输入 HelloMIDlet 作为 MIDlet 名称。单击 Finish。这就创建了 HelloMIDlet.java
  9. 双击 HelloMIDlet.java 以便在编辑器中显示源代码。
  10. 在源代码编辑器中单击并将
    public class HelloMidlet extends MIDlet

    更改为
    public class HelloMIDlet
    extends MIDlet implements javax.microedition.lcdui.CommandListener
                  {
  11. startApp() 方法前添加以下的文本:
    public HelloMIDlet() {
    }
    private void initialize() {
    javax.microedition.lcdui.Display.getDisplay(this).setCurrent(get_helloTextBox());
    }
    public void commandAction(javax.microedition.lcdui.Command command, javax.microedition.lcdui.Displayable displayable) {
    if (displayable == helloTextBox) {
    if (command == exitCommand) {
    javax.microedition.lcdui.Display.getDisplay(this).setCurrent(null);
    destroyApp(true);
    notifyDestroyed();
    }
    }
    }
    private javax.microedition.lcdui.TextBox get_helloTextBox() {
    if (helloTextBox == null) {
    helloTextBox = new javax.microedition.lcdui.TextBox(null, "Test String",120, 0x0);
    helloTextBox.addCommand(get_exitCommand());
    helloTextBox.setCommandListener(this);
    }
    return helloTextBox;
    }
    private javax.microedition.lcdui.Command get_exitCommand() {
    if (exitCommand == null) {
    exitCommand = new javax.microedition.lcdui.Command("Exit", javax.microedition.lcdui.Command.EXIT, 1);
    }
    return exitCommand;
    }
    javax.microedition.lcdui.TextBox helloTextBox;
    javax.microedition.lcdui.Command exitCommand;
  12. startApp() 方法中添加一行 initialize();,如下所示:
      public void startApp() {
        initialize();
      }

编辑 Java 源代码

现在,我们为 MIDlet 添加一些显示的文本。

  1. get_helloTextBox() 方法中,用所选择的文本替换“test string”代码。例如,“Hello World”。

编译和运行项目

  1. 从 Run 菜单选择 Run > Run Main Project (F6)。双击 Output 窗口使它最大化,以便能看到所有的输出。注意在执行之前构建 HelloMIDlet.java 文件。设备仿真器打开以显示执行的 MIDlet 的结果。默认的设备仿真器是 DefaultColorPhone
  2. 在设备仿真器窗口,单击 Launch 命令下的按钮。设备仿真器启动 MIDlet 并显示在源代码中输入的文本。
  3. 单击 Exit 下的按钮以关闭 MIDlet。然后单击设备右上角的按钮来关闭仿真器窗口。

更改仿真器平台

仿真器平台由移动电话制造商提供,所以开发人员在编码、调试和测试应用程序时可以模拟特定的移动设备的行为。NetBeans Mobility Pack 包括 J2ME Wireless Toolkit,并支持很多其他的软件开发工具包(SDK),可以从提供商的站点(例如,Nokia、Sony Ericsson 或 Motorola)下载这些工具包。

更改默认仿真器设备

  1. 右键单击 MyHello Project 节点,然后选择 Properties。在 Properties 对话框中,选择 Platform 节点。此处可以更改默认配置的设备。
  2. 单击 Device 下拉列表,然后选择 QwertyDevice。单击 OK。
  3. 重新运行应用程序,这时应用程序运行在 QwertyDevice 仿真器中。

添加新仿真器平台

  1. 从主工具栏选择 Tools > Java Platform Manager。
  2. 在 Java Platform Editor 对话框中,单击 Add Platform 按钮。
  3. 在 Select Platform Type 页中,选择 Java Micro Edition Platform Emulator。单击 Next。
    在 Platforms 页中,IDE 搜索所有可用的 Java ME 平台并将它们在窗口中列出。将验证那些与统一仿真器接口(Unified Emulator Interface, UEI)相兼容的平台,并在平台名称旁的复选框中出现选中的标记。不是与 UEI 兼容的平台或者由于其他原因不能安装的平台,用红色列出。向导还标识已经安装了哪些平台。

    注意:为了安装与 UEI 不兼容的平台,单击 Back 按钮,然后选择 Custom Java Micro Edition Platform Emulator。
  4. 在 Platforms 页中,选中要安装的任何平台仿真器旁的复选框。单击 Finish。然后单击 Close。
    将安装选择的平台。
  5. 选择 File > "MyHello" Properties。
  6. 选择 Platform 节点,然后从 Emulator Platform 下拉菜单中选择新仿真器的名称(例如,J2ME Wireless Toolkit 2.2)。单击 OK。

使用配置

可以使用配置为项目创建多组分发 JAR 文件和 Java 应用程序描述符(Java Application Descriptor,JAD)文件。这使您能够创建一组源代码,并为要编程的每种移动设备定制这些源代码。

添加配置

  1. 右键单击 MyHello Project 节点,然后选择 Properties。在 Properties 对话框中,从 Project Configuration 下拉列表中选择 Add Configuration 。这将打开 Add Configuration 对话框。
  2. 在 Configuration Name 字段为配置输入名称。该名称应该标识目标平台,在该平台上将部署为此配置创建的 JAR/JAD。例如,输入 BlackWhiteDisplay,然后单击 OK。至此,就创建了一个新的配置。
  3. 也可以通过单击 Properties 对话框中的 按钮添加配置。这将打开 Project Configuration Manager 对话框, 该对话框中包括添加、移除或复制配置的选项。

定制配置

可以按照需要向项目中添加任意数量的配置。然后,可以在已添加的每个配置的 Project Properties 对话框中修改设置。

  1. 右键单击 MyHello Project 节点,然后选择 Properties。在 Properties 对话框中,选择 Platform 节点。这将打开 J2ME MIDP Configuration 对话框。
  2. 从 Properties 对话框顶部的配置组合框中选择 BlackWhiteDisplay 配置。
  3. Platform 对话框中的所有组件都被禁用。这是因为此配置当前采用的值是此面板的默认配置使用的值。取消选中面板底部的 Use Default Project Configuration Values 选项。现在可以编辑此面板上的所有组件。
  4. 将 Device 选项更改为 DefaultGrayPhone。
  5. 切换 Properties 对话框顶部的 Project Configuration 对话框,并观察 Device 选项随当前选中的配置的变化而变化的情况。此定制配置的方法用于对话框中的每个面板(除了常规面板)。单击 OK 保存配置更改,然后退出 Properties 对话框。

创建性能

在创建性能时,把它与一个或多个支持某个特定属性或属性集合的项目配置相关联。然后可以将性能与支持属性的一个或多个代码块相关联。如果以后需要添加或移除配置,则不必浏览所有的代码以及将配置与每个代码块相关联。相反,只需将配置与性能相关联。然后配置自动关联到与性能关联的任何代码块。

  1. 右键单击 MyHello 项目节点,然后选择 Properties。
  2. 从 Category 菜单树中选择 Abilities 页。
  3. 从 Project Configuration 下拉菜单中选择一个配置。这就是将要与性能相关联的配置。
  4. 如有必要,取消选中“DefaultConfiguration”复选框中的 Use Values。
  5. 单击 Add 按钮。
    这将打开 Add Ability 对话框。
  6. 在 New Ability 对话框中,为性能输入一个名称,或从下拉菜单中选择一个性能。可以选择为该性能输入一个值。
    单击 Ok,关闭 New Ability 对话框。现在性能已经与选中的项目配置相关联。

可以通过从 Project Configuration 菜单中选择一个不同的配置并单击 Add 按钮将性能与其他的配置相关联。

添加特定于配置的代码(预处理程序代码)

预处理程序块使您能够创建、管理和跟踪特定于一个或多个项目配置或性能的代码。代码只针对您指定的配置或性能启用(或禁用)。

  1. 在 HelloMIDlet.java Editor 窗口中,右键单击实例化 TextBox 的源代码行 (helloTextBox = new javax.microedition.lcdui.TextBox(null, "Hello, World",120, 0x0);)。
  2. 右键单击该行,然后选择 Preprocessor Blocks > Create If/Else Block。在第一个粉红色的部分,将单词“Color”添加到“Hello World”字符串后。在第二个灰色的部分,将“Gray”添加到“Hello World”字符串。
  3. 每当活动配置与指令值(此例中为 DefaultConfiguration)匹配时,由 //#if 预处理程序指令标记的代码将生效。每当活动配置与预处理程序值匹配时,将使用由 //#else 预处理程序指令标记的代码。

    换句话说,每当活动平台是“DefaultConfiguration”时,仿真器显示“Hello World Color”,如果活动平台是任何其他仿真器平台,则显示“Hello World Gray”。用//#endif 预处理程序指令结束预处理程序块。
  4. 可以通过使用不同的仿真器设备运行 MIDlet 来测试预处理程序代码,如 Changing the Emulator Platform 中所描述的。

运行配置

可以单独或同时构建和运行配置。

  1. 右键单击 MyHello Project 节点,然后选择 Run。
  2. 通过右键单击 MyHello Project 节点,选择 Set Active Project Configuration,然后选择一个不同的配置,可以激活不同的配置。也可以使用每个文本编辑器中的配置组合框完成此操作。重新运行项目。
  3. 出现两个仿真器,一个是彩色的,一个是灰色的。灰色仿真器显示“Hello World Gray”,彩色仿真器显示“Hello World Color”。

创建客户端-服务器应用程序

IDE 能够创建客户端 MIDlets,它可以通过直接的“两层”体系结构连接到 Web 服务,或通过中间件 Web 应用程序连接到 Web 服务的“三层”体系结构。

IDE 提供两种创建连接类的向导:

创建 Java ME Web 服务
(JSR-172) 客户端

  1. 右键单击项目节点,然后选择 New File/Folder。
  2. 在 New File 向导中,在 Categories 下选择 MIDP 。在 File Types 下,选择 J2ME Web Services Client。
  3. 为要添加到项目中的 Web 服务指定 WSDL 文件的位置。
    • 如果 WSDL 服务在 Web 上:
      1. 选择 Running Web Service 并输入 WSDL 文件的 URL,为获取的 WSDL 输入本地文件名。
      2. 如果位于防火墙的后面,单击 Proxy Settings 以指定相应的 HTTP 主机和端口。
      3. 单击 Retrieve WSDL 以获取 WDSL 文件的本地副本。IDE 将下载 WSDL 文件。
    • 如果环境中包含 WSDL 文件,则选择 Existing WSDL 文件并输入文件名。
  4. 获取了 WSDL 文件,并且页面中的其余字段使用从 WSDL 文件名得来的默认名称填充。
  5. 单击 Finish。
    IDE 将创建一个打开的设置文件,并生成客户端存根模块。
  • 在少数情况下,可能需要将 CLDC 1.1 类型转换成 CLDC 1.0 类型,这意味着 Float 和 Double 类型被转换为 String 变量。为进行转换, 在设置文件中选中“Convert floating point to String”复选框,然后单击 Generate Stubs 按钮。
  • 如果位于防火墙的后面,则在 NetBeans 中没有 HTTPS 代理可以使用的公共设置。为解决此问题,在命令行使用命令 -J-DhttpsProxy.host 和 -J-DhttpsProxy.port 运行 IDE,或向 /etc/netbeans.conf 文件中添加代理设置。
  • 不应该编辑生成的文件。重新生成文件时,对文件所做的任何更改都会丢失。

使用 Web 应用程序移动客户端生成器

  1. 通过从 Projects 视图选择一个 Mobile Project,然后选择 File > New File,可以打开 Web 应用程序移动客户端生成器。在 Categories 中,选择 MIDP。在 File Types 中,选择 Mobile Client to Web Application Generator Client。单击 Next。
  2. 在 Web Application and Client Type Selection 页面,为生成的服务器代码选择一个 Web 项目、Servlet 名称和包。
  3. 在同一个页面中,选择与 MIDlet 交互的 Web 应用程序类型:
    • 如果移动客户端直接连接到不使用 Web 服务的 Web 应用程序,则选择 Methods in Web Application。
    • 如果移动客户端通过中间件 Web 应用程序连接到 Web 服务,选择 Web Services in Web Application, 然后通过下拉菜单选择 Web 服务客户端。
  4. 在 Service Selection 页面中,指定要从服务器导出到客户端应用程序的服务。
  5. 在 Client Options 页面中,为生成的客户端类选择名称和包。
  6. 在同一个页面中,还可以确定要生成的代码的类型:
  • 每个导出服务的 Stub 方法
  • 每次会话允许多次调用的代码
  • 允许浮点值的代码
  • 跟踪代码
  • 可以检查和修改的样例 MIDlet

模板用于创建:

  • Java ME 客户端类
  • Servlet 和支持类
  • xml 格式的映射文件
  • (如果选择)可以检查和修改的 MIDlet。

Java ME 客户端、映射文件和 MIDlet 是在 Java ME 项目中生成的。Servlet 和支持类是在 Web 项目中生成。Servlet 也被添加到 Web 应用程序中 (web.xml)。

本地化应用程序

本地化是设计软件的一个过程,以便不用对软件进行工程更改,就能使它适合(本地化)各种语言和地区。当本地化应用程序时,为应用程序中的每个元素(例如界面文本、菜单和图标)提供替换的语言值。

添加本地化支持

  1. 创建初始化本地化支持的 Java 类和消息属性文件。
    1. 右键单击 MyHello Project 节点,然后选择 New > File/Folder。
    2. 在 Categories 下,选择 MIDP。在 File Types 下,选择 Localization Support Class。单击 Next。
    3. 单击 Finish 接受默认值。这将创建文件 LocalizationSupport.javamessages.properties
  2. 更改国际化字符串和搜索格式。
    1. 选择 Tools > Options,然后单击 Advanced Options 按钮。
    2. 在 Options 菜单树中选择 Internationalization 节点。
    3. 在 properties 窗口中:
      • 将 II8N String Format 属性更改为 LocalizationSupport.getMessage("{key}")
      • 将II8N Search Format 属性更改为 (getString|getBundle|getMessage)[:space:]*\([:space:]*{hardString}|//NOI18N
  3. 添加本地化键及其值。
    1. 选择 Tools > Internationalization > Internationalization Wizard。这将打开 Internationalization 向导。
    2. 选择 HelloMIDlet MIDlet 作为国际化的源文件。单击 Next。
    3. 选择 messages.properties 资源文件作为存储国际化字符串值的文件。单击 Next。
    4. 修改 HelloMIDlet MIDlet 标识的每个键的 Value 字段。
    5. 在所有字符串被添加到 messages.properties 文件后,执行以下操作为每种新语言环境添加值:
      1. 在 Projects 视图中右键单击文件节点,然后选择 Add Locale。
      2. 从 Predefined Locales 列表框中选择要支持的语言环境,或使用窗体顶部的组合框定义新的语言环境。
      3. 展开 Projects 视图中的 message.properties 节点,然后双击新添加的语言环境。
      4. 将所有属性转换成相应的语言。
  4. 添加代码以初始化本地化。
    1. 在需要对键进行本地化的 MIDlet 中输入以下字符串:
      LocalizationSupport.getMessage("Key");
      (例如,LocalizationSupport.getMessage("LAB_NextButton");

移动应用程序将使用 microedition.locale 属性来确定应该使用哪个版本的 messages.properties 文件。

下一步

有关使用 NetBeans IDE 5.0 的更多信息,请参见以下参考资料:




↑返回目录
前一篇: NetBeans Mobility Pack 功能
后一篇: NetBeans 5.0 端到端演示