MobileSet 3 for JBuilder 7 now available

By: Anders Ohlsson

Abstract: This version includes brand new support for new devices

Download MobileSet 3

More info on MobileSet 3

What's new in MobileSet 3

MobileSet 3 has several new features and enhancements in the following areas:

Vendor device support

MobileSet 3 provides support for the following vendors:

  • Sun JavaTM 2 Platform, Micro Edition (J2METM) Wireless Toolkit 1.0.3 and 1.0.4
  • Nokia Developer's Suite for Java 2 Platform, Micro Edition (J2ME)
  • Siemens Mobility Toolkit (SMTK)
  • Sprint PCS Wireless Toolkit for the Java Platform

For information on downloading and installing each JDK from the vendor, use a browser to open mobileset_setup.html in the JBuilder root directory.

Installation updates

When you choose Full Install during the installation of MobileSet, the Sun J2ME, Wireless Toolkit 1.0.4 is installed in the J2mewtk directory within the JBuilder installation directory. When the J2ME Wireless Toolkit JDK is installed with MobileSet, it is automatically set up for you. If you decide to install it separately, you must set it up manually, using the Configure JDKs dialog box in JBuilder (Tools|Configure JDKs).

The full installation also includes the open source release of the RetroGuard v. 1.1 bytecode obfuscator. For more information and links to additional resources, see the "Class file obfuscation" section in this document.

Unified Emulator Interface (UEI) support

MobileSet 3 supports the use of a Unified Emulator Interface (UEI) for J2ME JDKs that support the UEI specification. The UEI simplifies development when you are supporting multiple third-party mobile-devices by using common library APIs for compatible devices. The Sun J2ME Wireless Toolkits 1.0.3 and later support UEI.

The change to the UEI interface means that based upon the selected emulator interface, different libraries will be used to compile the project. To facilitate the use of different libraries, JBuilder limits the selection of emulators in the Runtime Properties dialog box to those emulators with the same libraries.

When you configure a J2ME JDK (Tools|Configure JDKs) that supports UEI, you can specify the target device, such as DefaultColorPhone, on the Micro tab in the Configure JDKs dialog box. When you select a target device, the library APIs are automatically loaded when you select the JDK for your project. Any third-party devices that share the same library APIs can be used with your application. In the project properties, you can select a specific emulator device for testing your project from a list of devices that are supported by the common library APIs associated with the target device.

The Emulator Device is specified in the Runtime Properties dialog box, which is accessed by selecting a runtime configuration for your project on the Run page in the Project Properties dialog box (Project|Project Properties|Run), and clicking Edit.

Only devices that use exactly the same libraries as the target device specified on the Micro tab in the Configure JDKs dialog box (Tools|Configure JDKs|Micro tab) will be shown in the Target Device list. If the desired device is not listed, then you need to go to Tools|Configure JDKs and select the target device.

For example, Nokia by default installs their emulators beneath the J2MEWTK that is installed under JBuilder. However the Nokia emulator uses a different library set than the core J2MEWTK emulators. So, if you were to select Default color phone from the Configure JDKs dialog box, they would not be able to select any of the Nokia phones under Runtime Properties, even though the Nokia phone emulators were available under J2MEWTK under Tools|Configure JDKs.

MIDP Screen Manager

A MIDP Screen Manager has been added in JBuilder SE and Enterprise to help you understand and manage MIDP displayables associated with a MIDlet. The MIDP Screen Manager provides a conceptual view of the relationships for displayables associated with a given MIDlet. Note the following information about the Screen Manager:

  • The MIDP Screen Manager is accessed by clicking the Screens tab for a MIDlet open in the editor.

  • The MIDP Screen Manager parses the .java files in your project to determine what MIDP displayables are associated with the open MIDlet, and draws representations of the MIDlet and the associated displayables in the content pane of the editor. The different types of displayables (Alert, Form, List, TextBox, and Canvas) are indicated by icons in the structure pane and the Screen Manager.

  • Calls between the MIDlet and the displayables are represented by arrows. The arrows indicate the flow from one MIDP displayable to another. The arrows start from the bottom of a given displayable representation and connect to the top of the next. Calls from one displayable to another show up as nodes of the given displayable in the structure pane when the Screen Manager is open.

  • You can rearrange the MIDlet and MIDP displayable representations in the Screen Manager to provide a better view of the relationships between displayables. Your Screen Manager layout is maintained from one JBuilder session to another.

  • Double-clicking on a displayable in the Screen Manager opens the source file for the displayable in the editor. You can use the Search menu (Search|Back) or click the Back button on the toolbar to return to the Screen Manager after opening the source file for a displayable.

  • Clicking on a command in a representation of a displayable in the Screen Manager opens a method inspector that displays the label, screen type, and priority associated with the command. You can edit the values for these command parameters in the inspector, and apply your changes. If you enter invalid data, such as characters in the priority field, the inspector displays the invalid data in red, and prevents you from applying the changes.

    Note: Command parameters must be constant (label, screen type, and priority) in order for the Screen Manager to display the data. Otherwise, the Screen Manager will display "<unparsable>" for the label in the displayable representation. If the other parameters are not constants, they display as "<unparsable>" in the command inspector.

  • Double-clicking on a command in a representation of a displayable in the Screen Manager opens the source file for the displayable in the editor, and highlights the command.

  • Double-clicking on a linking arrow to a displayable in the Screen Manager opens the source file for the class that calls it in the editor, and highlights the statement that shows the displayable.

Class file obfuscation

MobileSet 3 enables you to obfuscate your class files as part of the archive process in JBuilder SE and Enterprise. JBuilder supports the obfuscator RetroGuard v. 1.1, and delivers it with MobileSet 3. The Archive Builder includes an additional step for selecting the obfuscator and specifying which files to exclude from obfuscation.

Note: Depending on the implementation, some obfuscators (including RetroGuard) will load all classes referenced by your MIDlet Suite class files. If these referenced classes have native methods, the obfuscators will also try to load the shared libraries associated with those native methods. Since MIDP API classes use native methods, and the shared libraries can not be resolved, these obfuscators will not be able to obfuscate your MIDlet Suite. To work around this problem, you will need to have an emptied out version of the MIDP API (emptyapi.zip), and add this library to the obfuscator class path. The emptyapi.zip can be found in the <JBuilder home>j2mewtkwtklib when you install the J2ME Wireless Toolkit with MobileSet, or you can download the library from the Sun web site by clicking the ZIP file link on the "Obfuscating a J2ME[tm] MIDlet suite" page (http://wireless.java.sun.com/midp/questions/obfuscate/). To add the emptyapi.zip to the class path of an obfuscator in JBuilder, choose Tools|Configure Obfuscator, select the obfuscator, select the class tab, and click Add and navigate to emptyapi.zip.

For information on configuring and using an obfuscator in JBuilder, see Obfuscating MIDlet class files in the "The MobileSet development environment" section of the MobileSet Developer's Guide.

For more information about RetroGuard, refer to the RetroGuard User's Guide in the RetroGuard installation directory. When RetroGuard is installed with MobileSet, it is installed in the retroguard-v1.1 directory within the JBuilder installation directory.


Download MobileSet 3

More info on MobileSet 3


Server Response from: ETNASC04