blob: e5fb97a152596ddf18ab46200e8b9bf042b8093d [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. -->
<!-- Use is subject to license terms.-->
<html>
<head>
<title>创建、调试 Mobile 嵌入式应用程序并进行性能分析 - NetBeans IDE 教程</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
<link rel="stylesheet" type="text/css" href="../../../netbeans.css">
</head>
<body>
<a name="top"></a>
<h1>创建、调试 Mobile 嵌入式应用程序并进行性能分析</h1>
<div class="articledate" style="margin-left: 0px;"> Sungmoon Cho、Alyona Stashkova</div>
<p>Mobile 嵌入式应用程序应用于小型嵌入式设备,例如,工业测量设备、自动贩卖机、安全系统、调制解调器、家用电子设备,以及具有简易显示器(或没有显示器)和某种有限网络连接的类似设备。本示例演示如何使用 Oracle Java Micro Edition Embedded 平台在 NetBeans IDE 中开发新 Java ME 嵌入式项目,该平台包括对 <a href="http://jcp.org/en/jsr/detail?id=228">JSR 228</a> 信息模块配置文件 - 下一代 API (IMP-NG) 的支持。本示例还将介绍如何使用 Oracle Java ME Embedded 的 NetBeans 支持调试您自己的 IMlet 并对其进行性能分析。</p>
<h3>目录</h3>
<img alt="此页上的内容适用于 NetBeans IDE 7.3 及更高版本" class="stamp" src="../../../images_www/articles/73/netbeans-stamp-80-74-73.png" title="此页上的内容适用于 NetBeans IDE 7.3 及更高版本">
<ul>
<li><a href="#install" title="安装 Oracle Java ME Embedded">安装 Oracle Java ME Embedded</a></li>
<li><a href="#create" title="创建嵌入式项目">创建嵌入式项目</a></li>
<li><a href="#run" title="运行应用程序">运行应用程序</a></li>
<li><a href="#debug" title="调试应用程序">调试应用程序</a></li>
<li><a href="#profile" title="对应用程序进行性能分析">对应用程序进行性能分析</a></li>
<li><a href="#nextsteps" title="另请参见">另请参见</a></li>
</ul>
<p><b>要学完本教程,您需要具备以下软件和资源:</b></p>
<table>
<tbody>
<tr>
<th class="tblheader" scope="col">软件或资源</th>
<th class="tblheader" scope="col">要求的版本</th>
</tr>
<tr>
<td class="tbltd1"><a href="https://netbeans.org/downloads/index.html">带有 Java ME 的 NetBeans IDE</a></td>
<td class="tbltd1">版本 7.3 及更高版本</td>
</tr>
<tr>
<td class="tbltd1"><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java 开发工具包</a> (JDK)</td>
<td class="tbltd1">版本 6、7 或 8 </td>
</tr>
<tr>
<td class="tbltd1"><a href="http://www.oracle.com/technetwork/java/javame/javamobile/download/sdk/index.html">Java ME SDK</a></td>
<td class="tbltd1">版本 3.2 及更高版本 </td>
</tr>
</tbody>
</table>
<p class="alert"><b>重要提示:</b>本教程仅在与 Win32 兼容的平台上运行。</p>
<h2><a name="install"></a>安装 Oracle Java ME Embedded</h2>
<p>要在 Windows 平台上设置带有 Oracle Java ME Embedded 软件的 NetBeans IDE,您需要: </p>
<ul>
<li>安装 Oracle Java ME SDK </li>
<li>在 NetBeans IDE 中激活 Java ME 功能</li>
<li>在 NetBeans IDE 中安装 Oracle Java ME Embedded 平台 </li>
</ul>
<p><b>安装 Oracle Java ME SDK:</b></p>
<ol>
<li>访问 <a href="http://www.oracle.com/technetwork/java/javame/javamobile/download/sdk/index.html">Java ME SDK download</a>(Java ME SDK 下载)页。</li>
<li>单击 "Accept License Agreement"(接受许可协议)选项。</li>
<li>下载 Oracle Java ME SDK 安装文件(例如 oracle-jmesdk-3-4-rr-win32-bin.exe)并将其保存到计算机上的任意位置。</li>
<li>双击此安装文件以运行安装程序,并按照说明操作。<br> 安装完成后,Windows 系统托盘中会显示 "Java (TM) ME Platform SDK Device Manager"(Java (TM) ME Platform SDK 设备管理器)图标 (<img alt="&amp;quot;Java (TM) ME Platform SDK 3.2 Device Manager&amp;quot;(Java (TM) ME Platform SDK 3.2 设备管理器)图标" src="../../../images_www/articles/73/javame/imp-ng/icon.png">)。</li>
</ol>
<p><b>激活 Java ME 功能:</b> </p>
<ol>
<li>从 IDE 主工具栏中选择 "Tools"(工具)> "Plugins"(插件)。</li>
<li>在 "Plugins"(插件)对话框中,单击 "Installed"(已安装)标签,并在可用功能列表中选择 "Java ME"。
<p class="align-center"><a href="../../../images_www/articles/73/javame/imp-ng/plugins.png" rel="lytebox" title="&amp;quot;Plugins&amp;quot;(插件)对话框"> <img alt="&amp;quot;Plugins&amp;quot;(插件)对话框" border="1" src="../../../images_www/articles/73/javame/imp-ng/plugins-small.png"></a></p></li>
<li>单击 "Activate"(激活)。</li>
<li>在 "Installer"(安装程序)对话框的 "Welcome"(欢迎使用)面板上,单击 "Activate"(激活)。
<p class="align-center"><a href="../../../images_www/articles/73/javame/imp-ng/installer.png" rel="lytebox" title="&amp;quot;Installer&amp;quot;(安装程序)对话框"> <img alt="&amp;quot;Installer&amp;quot;(安装程序)对话框" border="1" src="../../../images_www/articles/73/javame/imp-ng/installer-small.png"></a></p></li>
<li>在成功完成激活过程后,单击 "Finish"(完成)。</li>
<li>单击 "Close"(关闭)以关闭 "Plugins"(插件)对话框。</li>
</ol>
<p><b>安装 Oracle Java ME Embedded 平台:</b></p>
<ol>
<li>选择 "Tools"(工具)> "Java Platforms"(Java 平台)。<br> 此时将显示 "Java Platform Manager"(Java 平台管理器)对话框。
<p class="align-center">
<a href="../../../images_www/articles/73/javame/imp-ng/jpmanager.png" rel="lytebox" title="&amp;quot;Name and Location&amp;quot;(名称和位置)面板"> <img alt="&amp;quot;Name and Location&amp;quot;(名称和位置)面板" border="1" src="../../../images_www/articles/73/javame/imp-ng/jpmanager-small.png"></a></p></li>
<li>单击 "Add Platform"(添加平台)。</li>
<li>在 "Add Java Platform"(添加 Java 平台)向导的 "Select Platform Type"(选择平台类型)中,选择 "Java ME CLDC Platform Emulator"(Java ME CLDC 平台仿真器)并单击 "Next"(下一步)。<br>IDE 随即会显示 "Choose directory to search for platforms"(选择要在其中搜索平台的目录)对话框。</li>
<li>选择要在其中安装 Java ME SDK 平台的目录(例如,<tt>C:\Java_ME_Platform_SDK_3.2</tt>),然后单击 "Open"(打开)。</li>
<li>在 "Add Java Platform"(添加 Java 平台)向导的 "Platform Folders"(平台文件夹)面板中,确保选择上一步骤中的所选平台,然后单击 "Next"(下一步)。</li>
<li>在 IDE 检测到平台之后,请立即在 "Add Java Platform"(添加 Java 平台)向导的 "Detected Platforms"(已检测到平台)面板中单击 "Finish"(完成)。
<p class="align-center">
<a href="../../../images_www/articles/73/javame/imp-ng/jpdetected.png" rel="lytebox" title="已检测到 J2ME 平台"> <img alt="已检测到 J2ME 平台" border="1" src="../../../images_www/articles/73/javame/imp-ng/jpdetected-small.png"></a></p>
现在将在 Netbeans IDE 中注册 Oracle Java ME 平台。
<p class="align-center">
<a href="../../../images_www/articles/73/javame/imp-ng/jpregistered.png" rel="lytebox" title="已注册 J2ME 平台"> <img alt="已注册 J2ME 平台" border="1" src="../../../images_www/articles/73/javame/imp-ng/jpregistered-small.png"></a></p></li>
<li>在 "Java Platform Manager"(Java 平台管理器)对话框中,单击 "Close"(关闭)。</li>
</ol>
<p>现在您已设置 NetBeans IDE,可以进行 Mobile 开发了。</p>
<h2><a name="create"></a>创建嵌入式项目 </h2>
<p>创建新项目是使用 NetBeans IDE 开发新 Java ME Embedded 应用程序的首要步骤。 </p>
<ol>
<li>选择 "File"(文件)> "New Project"(新建项目)。<br> 此时将显示 "New Project"(新建项目)对话框。</li>
<li>选择 "Java ME" 类别,然后选择 "Embedded Application"(嵌入式应用程序)项目。单击 "Next"(下一步)。</li>
<li>在 "New Embedded Application"(新建嵌入式应用程序)向导的 "Name and Location"(名称和位置)面板中,指定 <tt>EmbeddedApp</tt> 作为项目名称。
<p class="align-center">
<a href="../../../images_www/articles/73/javame/imp-ng/newappname.png" rel="lytebox" title="&amp;quot;Name and Location&amp;quot;(名称和位置)面板"> <img alt="&amp;quot;Name and Location&amp;quot;(名称和位置)面板" border="1" src="../../../images_www/articles/73/javame/imp-ng/newappname-small.png"></a></p></li>
<li>保持选中 "Create Default Package and IMlet Class"(创建默认包和 IMlet 类)选项,然后单击 "Next"(下一步)。</li>
<li>确保选择 "CLDC Oracle Java(TM) Platform Micro Edition SDK" 作为仿真器平台,并选择 "IMPNGPhone1" 作为设备。 </li>
<li>单击 "Finish"(完成)。<br>此时将在标准 IDE 项目中创建一个具有 IMLet 的 IMP-NG 应用程序。
<p class="align-center"><img alt="创建的新项目" border="1" src="../../../images_www/articles/73/javame/imp-ng/prjcreated.png"></p></li>
</ol>
<p class="align-center"><a href="#top">返回页首</a></p>
<h2><a name="run"></a>运行应用程序</h2>
<p>要验证应用程序是否正常运行,请修改应用程序源代码,如下所示:</p>
<ol>
<li>在 "Projects"(项目)窗口中,双击 <tt>IMlet.java</tt> 文件并选择 "Edit"(编辑)。<br>IDE 随即会在源代码编辑器中打开 <tt>IMlet.java</tt> 文件。 </li>
<li>滚动查看源代码并查找 <tt>StartApp</tt> 方法。</li>
<li><tt>StartApp</tt> 方法的主体中插入以下用粗体显示的行:
<pre class="examplecode"> public void startApp() {
<b>System.out.println(&quot;Hello, world!&quot;);</b>
}</pre></li>
<li>从 IDE 主菜单中选择 "File"(文件)> "Save"(保存)以保存所做的编辑。</li>
</ol>
<p>现在您已创建应用程序,您可以按照下述方法在 IDE 中运行该应用程序:</p>
<ol>
<li>右键单击 <tt>EmbeddedApp</tt> 项目节点,然后选择 "Clean and Build"(清理并构建)。<br>"Output"(输出)窗口将显示 BUILD SUCCESSFUL 语句。
<p class="notes"><b>注:</b>如果 "Output"(输出)窗口不可见,请从 IDE 主菜单中选择 "Window"(窗口)> "Output"(输出)> "Output"(输出)。</p>
</li>
<li>从 IDE 菜单栏中,选择 "Run"(运行)> "Run Project"(运行项目)。<br>IMPNGPhone1 仿真器随即启动并显示 EmbeddedApp 应用程序正在运行。
<p class="align-center">
<a href="../../../images_www/articles/73/javame/imp-ng/emulator.png" rel="lytebox" title="仿真器"> <img alt="仿真器" border="1" src="../../../images_www/articles/73/javame/imp-ng/emulator-small.png"></a></p>
<p class="notes"><b>注:</b><a href="http://docs.oracle.com/javame/config/cldc/rel/3.2/get-started-win/title.htm">面向 Windows 32 平台的 Oracle Java ME Embedded 入门指南</a>》中提供了有关 Java ME Embedded Emulator 的详细信息。</p>
在 "Output"(输出)窗口中,您应当可以看到程序输出 <code>Hello, world!</code>
<p class="align-center">
<a href="../../../images_www/articles/73/javame/imp-ng/output.png" rel="lytebox" title="输出"> <img alt="输出" border="1" src="../../../images_www/articles/73/javame/imp-ng/output-small.png"></a></p></li>
<li>在仿真器中,选择 <tt>Embedded App (running)</tt> 并单击右侧的 "Suspend"(挂起)。<br>此时将暂停应用程序。 </li>
<li>单击 "Resume"(恢复)。<br>此时将恢复运行应用程序。 </li>
<li>要停止应用程序并关闭仿真器,请单击 "Stop"(停止)并从仿真器菜单中选择 "Application"(应用程序)> "Exit"(退出)。<br>此运行进程随即在 IDE 中终止。</li>
</ol>
<p class="align-center"><a href="#top">返回页首</a></p>
<h2><a name="debug"></a>调试应用程序</h2>
<p>调试嵌入式项目与调试一般 Java 项目类似。</p>
<p>右键单击相应项目,然后选择“调试”以启动调试会话。此时将打开仿真器,并且程序执行过程会在设置的任意断点处停止。</p>
<p class="align-center"><a href="#top">返回页首</a></p>
<h2><a name="profile"></a>对应用程序进行性能分析</h2>
<p>使用常见性能分析任务(例如,标准 CPU 或内存性能分析)构建可靠的 Mobile 嵌入式应用程序。</p>
<p>在对应用程序进行性能分析之前,您需要按如下方式安装 Java ME SDK Tools 插件:</p>
<ol>
<!--<li>Go to the <a href="http://www.oracle.com/technetwork/java/javame/javamobile/download/sdk/index.html">Java ME SDK download</a> page.</li>
<li>Click the Accept License Agreement option.</li>
<li>Download the <a href="http://download.oracle.com/otn-pub/java/java_me_sdk/3.2/nb-me-sdk-plugins-uc.zip">nb-me-sdk-plugins-uc.zip</a> file and save it on your computer.</li>
<li>Unpack the archive to a folder on your hard drive (for example, <code>C:/mesdk_nb</code>).</li>-->
<li>在 NetBeans IDE 中,选择 "Tools"(工具)> "Plugins"(插件)。</li>
<!--<li>In the Plugins Manager, select the Settings tab and click Add.
<p class="align-center">
<a href="../../../images_www/articles/73/javame/imp-ng/add.png" rel="lytebox"
title="The Add button highlighted">
<img src="../../../images_www/articles/73/javame/imp-ng/add-small.png"
alt="The Add button highlighted" border=1></a></p></li>
<li>In the Name field of the Update Center Customizer dialog box, type <code>Java ME SDK Plugins</code>.</li>
<li>In the URL text field, specify the path to the <code>updates.xml</code> file in the directory where you unpacked the <code>nb-me-sdk-plugins-uc.zip</code> file (for example, <code>file:/c:/mesdk_nb/updates.xml</code>) and click OK.<br>
The Java ME SDK Plugins configuration displays in the Configuration of the Update Centers list on the Setting tab.
<p class="align-center">
<a href="../../../images_www/articles/73/javame/imp-ng/settings-plugins.png" rel="lytebox"
title="Java ME SDK Plugins added">
<img src="../../../images_www/articles/73/javame/imp-ng/settings-plugins-small.png"
alt="Java ME SDK Plugins added" border=1></a></p></li>-->
<li>在插件管理器中,选择 "Available Plugins"(可用插件)标签。</li>
<li>在 "Available Plugins"(可用插件)标签中,滚动查找 "Java ME SDK Tools" 插件,并选择该插件以便安装。
<p class="align-center">
<a href="../../../images_www/articles/73/javame/imp-ng/available-plugins.png" rel="lytebox" title="已添加 Java ME SDK 插件"> <img alt="已添加 Java ME SDK 插件" border="1" src="../../../images_www/articles/73/javame/imp-ng/available-plugins-small.png"></a></p></li>
<li>单击 "Install"(安装)。</li>
<li>在 "Installer"(安装程序)对话框的欢迎页,单击 "Next"(下一步)。 </li>
<li>在 "License Agreement"(许可证协议)页上,阅读与该插件相关的许可证协议。如果您同意所有许可证协议条款,请单击适当的选项,然后单击 "Install"(安装)。</li>
<li>安装过程完成后,保持选中 "Restart IDE now"(立即重新启动 IDE)选项并单击 "Finish"(完成)。 </li>
</ol>
<p>在重新启动 NetBeans IDE 之后,您即可开始使用 IDE 对您的 Mobile 嵌入式应用程序进行性能分析。</p>
<ol>
<li>在 IDE 的 "Projects"(项目)标签中,选择 <code>EmbeddedApp</code> 项目名称。</li>
<li>从主菜单中选择 "Profile"(分析)> "Profile Project"(分析项目)以便启动性能分析会话。
<p class="notes"><b>注:</b>当首次对项目进行性能分析时,系统会提示您集成分析器。 </p>
<p class="align-center">
<a href="../../../images_www/articles/73/javame/imp-ng/enable.png" rel="lytebox" title="已添加 Java ME SDK 插件"> <img alt="已添加 Java ME SDK 插件" border="1" src="../../../images_www/articles/73/javame/imp-ng/enable-small.png"></a></p>
</li>
<li>(适用于首次对项目进行性能分析)在 "Enable Profiling"(启用性能分析)对话框中,单击 "Yes"(是)执行集成。</li>
<li>在 "Profile"(分析)对话框中,选择 "CPU Profiler"(CPU 分析器),并选择性地选中 "Profile System Classes"(分析系统类)。</li>
<li>单击 "Run"(运行)。<br>此时将打开仿真器,并显示正在运行的 <code>EmbeddedApp</code> 应用程序。</li>
<li>与应用程序交互。</li>
<li>退出应用程序或关闭仿真器。<br>IDE 会在 <code>cpu:<i>时间</i></code>窗口中显示分析数据。
<p class="align-center">
<a href="../../../images_www/articles/73/javame/imp-ng/cpu.png" rel="lytebox" title="&amp;quot;cpu: time&amp;quot;(cpu:时间)窗口"> <img alt="&amp;quot;cpu: time&amp;quot;(cpu:时间)窗口" border="1" src="../../../images_www/articles/73/javame/imp-ng/cpu-small.png"></a></p>
<p class="notes"><b>注:</b>要保存在仿真会话中收集的数据以供将来参考,您可以执行以下任一操作:</p>
<ul>
<li>通过单击 "Export to"(导出至)按钮 (<img alt="&amp;quot;Export to&amp;quot;(导出至)按钮" border="1" src="../../../images_www/articles/73/javame/imp-ng/export.png">) 将数据导出到 <code>nps</code> 文件</li>
<li>通过单击 "Save Current View to Image"(将当前视图另存为图像)按钮 (<img alt="&amp;quot;Save Current View to Image&amp;quot;(将当前视图另存为图像)按钮" border="1" src="../../../images_www/articles/73/javame/imp-ng/image.png">) 将快照保存到 <code>png</code> 文件</li>
</ul>
</li>
</ol>
<div class="feedback-box"><a href="/about/contact_form.html?to=6&subject=Creating,%20Debugging,%20and%20Profiling%20an%20Embedded%20Application">发送有关此教程的反馈意见</a></div>
<br style="clear:both;" >
<p class="align-center"><a href="#top">返回页首</a></p>
<h2><a name="nextsteps"></a>另请参见</h2>
<ul>
<li><a href="imp-ng-screencast.html" target="_blank">演示:NetBeans IDE 中的 IMP-NG 配置文件支持</a></li>
<li><a href="http://www.oracle.com/technetwork/java/javame/javamobile/training/jmesdk/index.html" target="_blank">Java Mobile - 开始学习</a></li>
<li><a href="http://www.oracle.com/technetwork/java/embedded/resources/me-embeddocs/index.html" target="_blank">Oracle Java ME Embedded 客户端文档</a></li>
<li><a href="https://blogs.oracle.com/javamesdk/" target="_blank">Java ME SDK 团队博客</a></li>
<li><i>使用 NetBeans IDE 开发应用程序</i>中的<a href="http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG1552">开发 Java ME 应用程序</a></li>
</ul>
<p class="align-center"><a href="#top">返回页首</a></p>
</body>
</html>