<HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="What's new in NetBeans 3.6 ?">
<link rel="stylesheet" type="text/css" href="../../../netbeans.css">
<style type="text/css">
<!--
.ST1 {color: #99006b}
.ST0 {color: #780000}
-->
</style>
<title>Mobility Modules for NetBeans&#8482; 2004 Q1 Release Notes</title>
</HEAD>
<body>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<h1>Mobility Modules for NetBeans&#8482; 2004 Q1 Release Notes</h1>

<table width="90%" border="1">
  <tbody><tr> 
    <td width="54%"><b>This section of these Release Notes ...</b>..</td>
    <td width="46%"><b>Provides this information ...</b></td>
  </tr>
  <tr> 
    <td width="54%"><a href="#intro">Introduction</a></td>
    <td width="46%">Introduction to these release notes and the Mobility Modules
      software.</td>

  </tr>
  <tr> 
    <td width="54%"><a href="#whatsnew">What's New: Enhancements and New Features</a> 
    </td>
    <td width="46%">New features and enhancements for this release.</td>
  </tr>
  <tr> 
    <td width="54%"><a href="#plats">Supported Platforms</a></td>
    <td width="46%">Operating systems on which the Mobility Modules
       have been tested.</td>

  </tr>
  <tr> 
    <td width="54%"><a href="#bugs">Bugs and Issues</a></td>
    <td width="46%">Bugs and Issues related to functionality in this release of 
      the product, supplied with workarounds, where applicable.</td>
  </tr>
  <tr> 
    <td width="54%"><a href="#otherdocs">Other Documentation</a></td>
    <td width="46%">Sources of information about the Mobility Modules in documentation
      form.</td>

  </tr>
</tbody></table>
 
</p><h2> <a name="intro"></a><u>Introduction</u></h2>

<p>These release notes represent the release notes for the Mobility Modules for
  NetBeans 2004Q1, hereafter referred to as the &quot;Mobility modules.&quot; </p>

<p><b>NOTE: Mobility Modules for
  NetBeans 2004Q1 requires the Java&#8482; 2
    Software Development Kit, Standard Edition (J2SE&#8482; SDK)
    v. 1.4.1_02 or later 1.4.x version.</b></p>

<h3><a name="whatsnew"></a><u>What's New: Enhancements and New Features</u></h3>
<p>The following section provides information on enhancements and new features
  available with the Mobility modules: </p>
<ul>
  <li>Support for the latest standards and tools, including:
      <ul>
        <li>MIDP 2.0</li>
        <li>CLDC 1.1</li>
        <li>JSR 185, Java Technology for the Wireless Industry (JWTI)</li>

        <li>The J2ME Wireless Toolkit version 2.1.</li>
      </ul>
  <li>New and improved wizards that simplify common and advanced tasks, such
    as:
      <ul>
        <li>Installing sample applications</li>
        <li>Importing J2ME Wireless Toolkit projects</li>
      </ul>
  </li>

  <li>Improved interface for enhanced usability.</li>
  <li>Support for JAR signing to improve security.</li>
  <li>Support for Push registry, which facilitates the signing of MIDlet suites.
    This support includes an API Permissions tool to set permissions on sensitive
    APIs in the MIDlet Suite.</li>
  <li>Support for Over-The-Air (OTA) Download Testing. This support simulates
    the complete lifecycle of an application, starting from the Over-The-Air
    (OTA) Provisioning from a web site, installing and verifying, running, updating,
    and removing your application without involving an external web server.</li>
  <li>Support for Mobile Media (MMAPI) and Wireless Messaging (WMAPI) API libraries.</li>
</ul>
<div class="main">

  <h2><a name="plats"></a><u>Supported Platforms</u></h2>
</div>
<div class="main">
  <p><b>NOTE:The <strong>Mobility modules</strong>
    require J2SE SDK v. 1.4.1_02 or later v. 1.4.x platform. </b></p>
  <p>The Mobility modules are supported on the following
    platforms:</p>
  </div>

  <ul>
    <li>
      <div class="main">Microsoft Windows 2000 Professional  </div>
    </li>
    <li>
      <div class="main">Microsoft Windows XP Professional</div>
    </li>
    <li>

      <div class="main">Red Hat Linux 8</div>
    </li>
  </ul>
    <p>The J2ME Wireless
            Toolkit has been tested with the following systems:</p>
      <ul>
        <li>Microsoft Windows NT 4.0 systems      </li>
        <li>Microsoft Windows 2000 systems        </li>

      </ul>
      <p>The J2ME Wireless Toolkit has been tested on a limited basis with
              the following,<br>
   unsupported systems:</p>
      <ul>
        <li>Microsoft Windows 98 Second Edition     </li>
        <li>Red Hat Linux 7.1 </li>
      </ul>

     <p><strong>Note: The platforms supported by the Mobility modules might
          differ from those supported by the emulator you plan to use. You should
         verify that both the Mobility modules and the emulator you plan
         to use are supported on your particular platform.</strong>        </ul>
</p>
  <h2><a name="bugs"></a><u>Bugs and Issues</u></h2>
<p><font color="#000000">NOTE: The Mobility modules are designed
    to be used in single-user mode. Errors might occur if multiple users concurrently
    access the same executable file. For this reason, this edition is not recommended
   for use in a shared installation on any Windows platform.</font></p>
<ul>
  <li> If you are creating a MIDlet that supports only MIDP 1.0, you should test
    it using the device emulator from The J2ME Wireless Toolkit version 1.0.4_01.
    The J2ME Wireless Toolkit 2.1 supports MIDP 2.0 features, and therefore
    may not accurately
    reflect your MIDlet's behavior on a MIDP 1.0 device.<br>
  </li>

  <li><a href="http://developer.java.sun.com/developer/bugParade/bugs/4666440.html"><font color="#0000cc">4666440</font></a><font color="#cc0033"> <font color="#000000">Description:
          If you are using JDK 1.4 with the J2ME Wireless Toolkit 1.0.4_01, you
    cannot debug code inside a MIDlet's constructor. </font></font></li>
  <p><font color="#cc0033"><font color="#000000">Workaround: Use the J2ME Wireless
        toolkit version 2.0 or later,  use a different emulator,
        or place the code from the
        constructor into the MIDlet's method and place a breakpoint in the method.</font></font></p>
  <li><font color="#000000"><a href="http://developer.java.sun.com/developer/bugParade/bugs/4940129.html">4940129</a> Description:
      The Currency Converter application used in the Mobility modules tutorial
      cannot handle values that overflow
      past the size of the text field (for example, the Yen value will overflow
      when the U.S. dollar amount exceeds 8 trillion dollars).</font><br>
  </li>
  <li><font color="#000000"><a href="http://developer.java.sun.com/developer/bugParade/bugs/4980310.html">4980310</a> Description:
  Debugger on occasion does not start. </font> </li>

  <p><font color="#000000">Workaround: Try to start debugger again.</font></p>
  <li><font color="#000000"><a href="http://developer.java.sun.com/developer/bugParade/bugs/5005489.html">5005489</a> Description:
      Code completion doesn't work for some local classes. </font></li>
          <p>Workaround: Refresh the code completion by right-clicking on the filesystem
            and choosing Tools &gt; Update Code Completion.</p>
  </ul>
<ul><li><font color="#000000">The Windows registry key used by the J2ME Wireless
        Toolkit, v. 1.0.4_01 is <code>HKEY_LOCAL_MACHINE\SOFTWARE\Sun Microsystems,
      Inc.\J2ME Wireless Toolkit\1.0.4_01</code></font><br></li>

  <li><font color="#000000">The Windows registry key used by the J2ME Wireless
      Toolkit, v. 2.1 is <code>HKEY_LOCAL_MACHINE\SOFTWARE\Sun Microsystems,
  Inc.\J2ME Wireless Toolkit\2.1</code></font></li>
  </ul>
<p>NOTE: Disabling or uninstalling the Mobility Modules will not remove
    the registry keys from the Windows registry. You must remove the registry
    keys manually, using a registry editor.</p>
<h3>J2ME Wireless Toolkit Modules</h3>
 
<p>Additional information and Release Notes for the J2ME Wireless Toolkit Modules
    can be found in the <tt>/emulator</tt> directory of your Mobile Modules installation,
    or at the <a href="http://java.sun.com/products/j2mewtoolkit/">J2ME Wireless
    Toolkit web site</a> .</p>

<h3>ProGuard Obfuscation Module</h3>
  <p>To find the latest information on the JODE obfuscator, go to the <a href="http://proguard.sourceforge.net/">ProGuard</a> web
    site.</p>
  <h3>RetroGuard Obfuscation Module</h3>
  <p>To find the latest information on the RetroGuard obfuscator, go to the <a href="http://www.retrologic.com/">Retrologic
    Systems</a> web site. </p>

  <h2><u>Redistributable Files<a name="redistribute"></a></u></h2>
  <p>The following files are a Redistributable, subject to the terms and conditions
    of the Binary Code License (BCL) and its Supplemental Terms.</p>
  <p> 1. Files that comprise the following modules: </p>
  <ul>
    <li>J2ME Wireless Module</li>
    <li>RetroGuard Integration Module</li>

    <li>ProGuard Integration Module</li>
    <li>Wireless Examples Module</li>
  </ul>
  <h2><a name="otherdocs"></a><u>Other Documentation</u></h2> 

<h3>Books </h3>

<p>The  Mobility Modules for NetBeans 2004Q1 Tutorial can be downloaded
  in 

  PDF format on the installation CD, or from the NetBeans website. </p>

<h3>Online Help</h3> 

 

<p>You can access online help for the IDE by choosing the <code>Help &gt; Help
    Sets</code>  menu
  item from the main window. The Help menu also includes links to the NetBeans
  Open Source homepage and other useful URLs.</p>
<h3>Sample Applications</h3> 

<p>You can get sample applications by choosing the <code>Help &gt; Examples Setup
  Wizard</code>  menu item from the main window.<br>

  <!--<?xml version="1.0" encoding="UTF-8"?>v -->

  <!--<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -->

  <!-- $Id: mobility_relnotes.html,v 1.1.1.1 2009/10/29 16:51:14 nbweb Exp $ -->

  <!-- <link rel="stylesheet" type="text/css" href="../dist/docs/style/default.css" /> -->
  </p>
<blockquote>&nbsp;</blockquote>

</body>
</html>
