blob: 28cf21f08e2eb1cfe2a6cf756fd13e7f55dc9794 [file] [log] [blame]
//
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
//
= 创建、调试 Mobile 嵌入式应用程序并进行性能分析
:jbake-type: tutorial
:jbake-tags: tutorials
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: 创建、调试 Mobile 嵌入式应用程序并进行性能分析 - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, 创建、调试 Mobile 嵌入式应用程序并进行性能分析
Sungmoon ChoAlyona Stashkova
Mobile 嵌入式应用程序应用于小型嵌入式设备,例如,工业测量设备、自动贩卖机、安全系统、调制解调器、家用电子设备,以及具有简易显示器(或没有显示器)和某种有限网络连接的类似设备。本示例演示如何使用 Oracle Java Micro Edition Embedded 平台在 NetBeans IDE 中开发新 Java ME 嵌入式项目,该平台包括对 link:http://jcp.org/en/jsr/detail?id=228[+JSR 228+] 信息模块配置文件 - 下一代 API (IMP-NG) 的支持。本示例还将介绍如何使用 Oracle Java ME Embedded 的 NetBeans 支持调试您自己的 IMlet 并对其进行性能分析。
image::images/netbeans-stamp-80-74-73.png[title="此页上的内容适用于 NetBeans IDE 7.3 及更高版本"]
*要学完本教程,您需要具备以下软件和资源:*
|===
|软件或资源 |要求的版本
|link:https://netbeans.org/downloads/index.html[+带有 Java ME 的 NetBeans IDE+] |版本 7.3 及更高版本
|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+Java 开发工具包+] (JDK) |版本 6、7 或 8
|link:http://www.oracle.com/technetwork/java/javame/javamobile/download/sdk/index.html[+Java ME SDK+] |版本 3.2 及更高版本
|===
*重要提示:*本教程仅在与 Win32 兼容的平台上运行。
== 安装 Oracle Java ME Embedded
要在 Windows 平台上设置带有 Oracle Java ME Embedded 软件的 NetBeans IDE,您需要:
* 安装 Oracle Java ME SDK
* NetBeans IDE 中激活 Java ME 功能
* NetBeans IDE 中安装 Oracle Java ME Embedded 平台
*安装 Oracle Java ME SDK:*
1. 访问 link:http://www.oracle.com/technetwork/java/javame/javamobile/download/sdk/index.html[+Java ME SDK download+](Java ME SDK 下载)页。
2. 单击 "Accept License Agreement"(接受许可协议)选项。
3. 下载 Oracle Java ME SDK 安装文件(例如 oracle-jmesdk-3-4-rr-win32-bin.exe)并将其保存到计算机上的任意位置。
4. 双击此安装文件以运行安装程序,并按照说明操作。
安装完成后,Windows 系统托盘中会显示 "Java (TM) ME Platform SDK Device Manager"Java (TM) ME Platform SDK 设备管理器)图标 (image::images/icon.png[])。
*激活 Java ME 功能:*
1. IDE 主工具栏中选择 "Tools"(工具)> "Plugins"(插件)。
2. "Plugins"(插件)对话框中,单击 "Installed"(已安装)标签,并在可用功能列表中选择 "Java ME"
[.feature]
--
image::images/plugins-small.png[role="left", link="images/plugins.png"]
--
[start=3]
. 单击 "Activate"(激活)。
[start=4]
. "Installer"(安装程序)对话框的 "Welcome"(欢迎使用)面板上,单击 "Activate"(激活)。
[.feature]
--
image::images/installer-small.png[role="left", link="images/installer.png"]
--
[start=5]
. 在成功完成激活过程后,单击 "Finish"(完成)。
[start=6]
. 单击 "Close"(关闭)以关闭 "Plugins"(插件)对话框。
*安装 Oracle Java ME Embedded 平台:*
1. 选择 "Tools"(工具)> "Java Platforms"Java 平台)。
此时将显示 "Java Platform Manager"Java 平台管理器)对话框。
[.feature]
--
image::images/jpmanager-small.png[role="left", link="images/jpmanager.png"]
--
[start=2]
. 单击 "Add Platform"(添加平台)。
[start=3]
. "Add Java Platform"(添加 Java 平台)向导的 "Select Platform Type"(选择平台类型)中,选择 "Java ME CLDC Platform Emulator"Java ME CLDC 平台仿真器)并单击 "Next"(下一步)。
IDE 随即会显示 "Choose directory to search for platforms"(选择要在其中搜索平台的目录)对话框。
[start=4]
. 选择要在其中安装 Java ME SDK 平台的目录(例如, ``C:\Java_ME_Platform_SDK_3.2`` ),然后单击 "Open"(打开)。
[start=5]
. "Add Java Platform"(添加 Java 平台)向导的 "Platform Folders"(平台文件夹)面板中,确保选择上一步骤中的所选平台,然后单击 "Next"(下一步)。
[start=6]
. IDE 检测到平台之后,请立即在 "Add Java Platform"(添加 Java 平台)向导的 "Detected Platforms"(已检测到平台)面板中单击 "Finish"(完成)。
[.feature]
--
image::images/jpdetected-small.png[role="left", link="images/jpdetected.png"]
--
现在将在 Netbeans IDE 中注册 Oracle Java ME 平台。
[.feature]
--
image::images/jpregistered-small.png[role="left", link="images/jpregistered.png"]
--
[start=7]
. "Java Platform Manager"Java 平台管理器)对话框中,单击 "Close"(关闭)。
现在您已设置 NetBeans IDE,可以进行 Mobile 开发了。
== 创建嵌入式项目
创建新项目是使用 NetBeans IDE 开发新 Java ME Embedded 应用程序的首要步骤。
1. 选择 "File"(文件)> "New Project"(新建项目)。
此时将显示 "New Project"(新建项目)对话框。
[start=2]
. 选择 "Java ME" 类别,然后选择 "Embedded Application"(嵌入式应用程序)项目。单击 "Next"(下一步)。
[start=3]
. "New Embedded Application"(新建嵌入式应用程序)向导的 "Name and Location"(名称和位置)面板中,指定 ``EmbeddedApp`` 作为项目名称。
[.feature]
--
image::images/newappname-small.png[role="left", link="images/newappname.png"]
--
[start=4]
. 保持选中 "Create Default Package and IMlet Class"(创建默认包和 IMlet 类)选项,然后单击 "Next"(下一步)。
[start=5]
. 确保选择 "CLDC Oracle Java(TM) Platform Micro Edition SDK" 作为仿真器平台,并选择 "IMPNGPhone1" 作为设备。
[start=6]
. 单击 "Finish"(完成)。
此时将在标准 IDE 项目中创建一个具有 IMLet IMP-NG 应用程序。
image::images/prjcreated.png[]
<<top,返回页首>>
== 运行应用程序
要验证应用程序是否正常运行,请修改应用程序源代码,如下所示:
1. "Projects"(项目)窗口中,双击 ``IMlet.java`` 文件并选择 "Edit"(编辑)。
IDE 随即会在源代码编辑器中打开 ``IMlet.java`` 文件。
[start=2]
. 滚动查看源代码并查找 ``StartApp`` 方法。
[start=3]
. ``StartApp`` 方法的主体中插入以下用粗体显示的行:
[source,java]
----
public void startApp() {
*System.out.println("Hello, world!");*
}
----
[start=4]
. IDE 主菜单中选择 "File"(文件)> "Save"(保存)以保存所做的编辑。
现在您已创建应用程序,您可以按照下述方法在 IDE 中运行该应用程序:
1. 右键单击 ``EmbeddedApp`` 项目节点,然后选择 "Clean and Build"(清理并构建)。
"Output"(输出)窗口将显示 BUILD SUCCESSFUL 语句。
*注:*如果 "Output"(输出)窗口不可见,请从 IDE 主菜单中选择 "Window"(窗口)> "Output"(输出)> "Output"(输出)。
[start=2]
. IDE 菜单栏中,选择 "Run"(运行)> "Run Project"(运行项目)。
IMPNGPhone1 仿真器随即启动并显示 EmbeddedApp 应用程序正在运行。
[.feature]
--
image::images/emulator-small.png[role="left", link="images/emulator.png"]
--
*注:*《link:http://docs.oracle.com/javame/config/cldc/rel/3.2/get-started-win/title.htm[+面向 Windows 32 平台的 Oracle Java ME Embedded 入门指南+]》中提供了有关 Java ME Embedded Emulator 的详细信息。
"Output"(输出)窗口中,您应当可以看到程序输出 `Hello, world!`
[.feature]
--
image::images/output-small.png[role="left", link="images/output.png"]
--
[start=3]
. 在仿真器中,选择 ``Embedded App (running)`` 并单击右侧的 "Suspend"(挂起)。
此时将暂停应用程序。
[start=4]
. 单击 "Resume"(恢复)。
此时将恢复运行应用程序。
[start=5]
. 要停止应用程序并关闭仿真器,请单击 "Stop"(停止)并从仿真器菜单中选择 "Application"(应用程序)> "Exit"(退出)。
此运行进程随即在 IDE 中终止。
<<top,返回页首>>
== 调试应用程序
调试嵌入式项目与调试一般 Java 项目类似。
右键单击相应项目,然后选择“调试”以启动调试会话。此时将打开仿真器,并且程序执行过程会在设置的任意断点处停止。
<<top,返回页首>>
== 对应用程序进行性能分析
使用常见性能分析任务(例如,标准 CPU 或内存性能分析)构建可靠的 Mobile 嵌入式应用程序。
在对应用程序进行性能分析之前,您需要按如下方式安装 Java ME SDK Tools 插件:
1. NetBeans IDE 中,选择 "Tools"(工具)> "Plugins"(插件)。
2. 在插件管理器中,选择 "Available Plugins"(可用插件)标签。
3. "Available Plugins"(可用插件)标签中,滚动查找 "Java ME SDK Tools" 插件,并选择该插件以便安装。
[.feature]
--
image::images/available-plugins-small.png[role="left", link="images/available-plugins.png"]
--
[start=4]
. 单击 "Install"(安装)。
[start=5]
. "Installer"(安装程序)对话框的欢迎页,单击 "Next"(下一步)。
[start=6]
. "License Agreement"(许可证协议)页上,阅读与该插件相关的许可证协议。如果您同意所有许可证协议条款,请单击适当的选项,然后单击 "Install"(安装)。
[start=7]
. 安装过程完成后,保持选中 "Restart IDE now"(立即重新启动 IDE)选项并单击 "Finish"(完成)。
在重新启动 NetBeans IDE 之后,您即可开始使用 IDE 对您的 Mobile 嵌入式应用程序进行性能分析。
1. IDE "Projects"(项目)标签中,选择 `EmbeddedApp` 项目名称。
2. 从主菜单中选择 "Profile"(分析)> "Profile Project"(分析项目)以便启动性能分析会话。
*注:*当首次对项目进行性能分析时,系统会提示您集成分析器。
[.feature]
--
image::images/enable-small.png[role="left", link="images/enable.png"]
--
[start=3]
. (适用于首次对项目进行性能分析)在 "Enable Profiling"(启用性能分析)对话框中,单击 "Yes"(是)执行集成。
[start=4]
. "Profile"(分析)对话框中,选择 "CPU Profiler"CPU 分析器),并选择性地选中 "Profile System Classes"(分析系统类)。
[start=5]
. 单击 "Run"(运行)。
此时将打开仿真器,并显示正在运行的 `EmbeddedApp` 应用程序。
[start=6]
. 与应用程序交互。
[start=7]
. 退出应用程序或关闭仿真器。
IDE 会在 `cpu:_时间_`窗口中显示分析数据。
[.feature]
--
image::images/cpu-small.png[role="left", link="images/cpu.png"]
--
*注:*要保存在仿真会话中收集的数据以供将来参考,您可以执行以下任一操作:
* 通过单击 "Export to"(导出至)按钮 (image::images/export.png[]) 将数据导出到 `nps` 文件
* 通过单击 "Save Current View to Image"(将当前视图另存为图像)按钮 (image::images/image.png[]) 将快照保存到 `png` 文件
link:/about/contact_form.html?to=6&subject=Creating,%20Debugging,%20and%20Profiling%20an%20Embedded%20Application[+发送有关此教程的反馈意见+]
<<top,返回页首>>
== 另请参见
* link:imp-ng-screencast.html[+演示:NetBeans IDE 中的 IMP-NG 配置文件支持+]
* link:http://www.oracle.com/technetwork/java/javame/javamobile/training/jmesdk/index.html[+Java Mobile - 开始学习+]
* link:http://www.oracle.com/technetwork/java/embedded/resources/me-embeddocs/index.html[+Oracle Java ME Embedded 客户端文档+]
* link:https://blogs.oracle.com/javamesdk/[+Java ME SDK 团队博客+]
* _使用 NetBeans IDE 开发应用程序_中的link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG1552[+开发 Java ME 应用程序+]
<<top,返回页首>>