Creating, Debugging, and Profiling a Mobile Embedded Application

This tutorial needs a review. You can edit it in GitHub following these contribution guidelines.

Sungmoon Cho, Alyona Stashkova

Mobile embedded applications are employed in small embedded devices such as industrial metering devices, vending machines, security systems, modems, home electronics devices, and similar devices with either simple or no display and with some limited network connectivity. This example shows you how to develop a new Java ME embedded project in the NetBeans IDE using the Oracle Java Micro Edition Embedded platform that includes support for JSR 228, the Information Module Profile-Next Generation API (IMP-NG). It will also explain how to debug and profile your own IMlet using NetBeans support for Oracle Java ME Embedded.

To complete this tutorial, you need the following software and resources:

Software or Resource Version Required

NetBeans IDE with Java ME

Version 7.3 and more recent

Java Development Kit (JDK)

Version 6, 7, or 8

Java ME SDK

Version 3.2 and more recent

Important: This tutorial runs on Win32 compatible platforms only.

Installing Oracle Java ME Embedded

To set up the NetBeans IDE with the Oracle Java ME Embedded software for the Windows platform, you need to:

  • install Oracle Java ME SDK

  • activate the Java ME feature in the NetBeans IDE

  • install the Oracle Java ME Embedded platform in the NetBeans IDE

To install Oracle Java ME SDK:

  1. Go to the Java ME SDK download page.

  2. Click the Accept License Agreement option.

  3. Download an Oracle Java ME SDK installer file (for example, oracle-jmesdk-3-4-rr-win32-bin.exe) and save it to any location on your computer.

  4. Double-click the installer file to run the installer, and follow the instructions. When the installation is complete, the Java ™ ME Platform SDK Device Manager icon ( images:./icon.png[]) appears in the Windows system tray.

To activate the Java ME feature:

  1. Choose Tools > Plugins from the main IDE’s toolbar.

  2. In the Plugins dialog box, click the Installed tab and select Java ME in the list of available features.

plugins small
  1. Click Activate.

  1. At the Welcome panel of the Installer dialog box, click Activate.

installer small
  1. When the activation is successfully completed, click Finish.

  1. Click Close to close the Plugins dialog box.

To install the Oracle Java ME Embedded platform:

  1. Choose Tools > Java Platforms. The Java Platform Manager dialog box displays.

jpmanager small
  1. Click Add Platform.

  1. In the Select Platform Type of the Add Java Platform wizard, select Java ME CLDC Platform Emulator and click Next. The IDE displays the Choose directory to search for platforms dialog box.

  1. Select the directory you installed the Java ME SDK Platform to (for example, C:\Java_ME_Platform_SDK_3.2 ) and click Open.

  1. In the Platform Folders panel of the Add Java Platform wizard, ensure the platform you selected in the previous step is chosen and click Next.

  1. As soon as the IDE detects the platform, click Finish in the Detected Platforms panel of the the Add Java Platform wizard.

jpdetected small

The Oracle Java ME Platform is now registered in the Netbeans IDE.

jpregistered small
  1. In the Java Platform Manager dialog box, click Close.

Now your NetBeans IDE is set up for mobile development.

Creating an Embedded Project

Creating a new project is your first step in developing a new Java ME Embedded application with the NetBeans IDE.

  1. Choose File > New Project. The New Project dialog box displays.

  1. Select the Java ME category and the Embedded Application project. Click Next.

  1. In the Name and Location panel of the New Embedded Application wizard, specify EmbeddedApp as the project name.

newappname small
  1. Leave the Create Default Package and IMlet Class option selected and click Next.

  1. Make sure CLDC Oracle Java™ Platform Micro Edition SDK is selected as the emulator platform and IMPNGPhone1 is selected as the device.

  1. Click Finish. An IMP-NG application with an IMLet is created in a standard IDE project.

prjcreated

Running the Application

To verify whether the application runs properly, modify the application source code as follows:

  1. In the Projects window, double-click the IMlet.java file and choose Edit. The IDE opens the IMlet.java file in the Source Editor.

  1. Scroll through the source code and find the StartApp method.

  1. Insert the following line in bold in the StartApp method’s body:

 public void startApp() {
      *System.out.println("Hello, world!");*
 }
  1. Choose File > Save from the IDE’s main menu to save the edits.

Now that you have created the application, you can run the application in the IDE as described below:

  1. Right-click the EmbeddedApp project node and choose Clean and Build. The Output window displays the BUILD SUCCESSFUL statement.

Choose Window > Output > Output from the the IDE’s main menu if the Output window is not visible.
  1. From the IDE’s menu bar, choose Run > Run Project. The IMPNGPhone1 emulator starts and displays the EmbeddedApp application running.

emulator small
More information on the Java ME Embedded Emulator is available in the Oracle Java ME Embedded Getting Started Guide for the Windows 32 Platform.

In the Output window, you should see the output from the program, Hello, world!

output small
  1. In the emulator, select Embedded App (running) and click Suspend on the right. The application is paused.

  1. Click Resume. The application resumes running.

  1. To stop the application and close the emulator, click Stop and choose Application > Exit from the emulator’s menu. The run process is terminated in the IDE.

Debugging the Application

Debugging embedded projects is accomplished similarly to debugging general Java projects.

Right-click on the project, and choose Debug to start a debugging session. The emulator opens and the program execution stops at any set breakpoints.

Profiling the Application

Use common profiling tasks, such as standard CPU or memory profiling, to build a reliable mobile embedded application.

Before profiling your application, you need to install the Java ME SDK Tools plugin as follows:

  1. In the NetBeans IDE, choose Tools > Plugins.

  2. In the Plugins Manager, select the Available Plugins tab.

  3. In the Available Plugins tab, scroll to find the Java ME SDK Tools plugin and select it for installation.

available plugins small
  1. Click Install.

  1. At the Welcome page of the Installer dialog box, click Next.

  1. At the License Agreement page, read the license agreements associated with the plugin. If you agree to the terms of all of the license agreements, click the appropriate option and then click Install.

  1. When the installation process is complete, leave the Restart IDE now option selected and click Finish.

After NetBeans IDE restarts, you can start using the IDE to profile your mobile embedded application.

  1. In the Projects tab of the IDE, select the EmbeddedApp project name.

  2. Choose Profile > Profile Project from the main menu to start a profiling session.

You are prompted to integrate the profiler when a project is going to be profiled for the first time.
enable small
  1. (Applicable if this is first-time profiling of the project) In the Enable Profiling dialog box, click Yes to perform the integration.

  1. In the Profile dialog box, choose CPU Profiler, and optionally check Profile System Classes.

  1. Click Run. The emulator opens with the EmbeddedApp application running.

  1. Interact with the application.

  1. Exit the application or close the emulator. The IDE displays the profile data in the cpu:_time_ window.

cpu small
To save the data collected during the emulation session for future reference you can either:
  • export the data to a nps file by clicking the Export to button (images:./export.png[])

  • save a snapshot to a png file by clicking the Save Current View to Image button (images:./image.png[])