by
 The MIDP High-Level API • Command Processing • Command-Processing Scenario • Screen Navigation • Command Organization At this point, you know how to organize the UI of a basic MIDP application. In any MIDlet more complicated than the first contrived ... [full story]
|
by
 Application Properties In chapter 2, you learned about the presence of certain MIDlet attributes that are defined in the JAD file of each MIDlet suite. Recall that all MIDlets have required attributes. Table 2.4 in chapter 2 listed the required ... [full story]
|
by
 System Properties The CLDC/MIDP supports system properties, which are key-value pairs that represent information about the platform and environment in which MIDP applications execute. Conceptually these are the same type of properties that you find in J2SE. Unfortunately, there is ... [full story]
|
by
 The MIDP UI Component Model The MIDP UI components are defined in the javax.microedition.lcdui package. This package name will probably change in a future release because its name is too closely tied to a particular type of physical display device. ... [full story]
|
by
 The MIDlet State Model MIDlets transition to different states during their lifetime. The MIDP specification defines the MIDlet state transition model. Table 3.1 lists the possible MIDlet states and their respective descriptions. Figure 3.5 shows a state transition diagram that ... [full story]
|
by
 MIDlet Program Structure Now that you understand the application execution lifecycle, it's time to look at the source code of a simple MIDlet. You might have already surmised that I'm going to start by showing you the simplest MIDlet—the MIDP ... [full story]
|
by
 MIDP Application Program Structure • The Application Execution Lifecycle • MIDlet Program Structure • The MIDlet State Model • The MIDP UI Component Model • System Properties • Application Properties In this chapter, you'll learn about the basic abstractions and ... [full story]
|
by
 Using the J2ME Wireless Toolkit 22 This section shows you how to use the J2ME Wireless Toolkit from Sun's Java Software division to perform all the steps of the development cycle that you did manually. You can download the J2ME ... [full story]
|
by
 Deployment and Execution You've now gone through the edit (program creation), compilation, preverification, and packaging steps. Finally, you're ready to deploy and run your application. In the real world, the MIDlet developer would upload the JAR file to some application ... [full story]
|
by
 Packaging The next step after preverification is to package your application. MIDlet suite packaging involves two entities: 18 • a Java archive file of the MIDlet files • an optional application descriptor file Although you can choose to optionally package ... [full story]
|
by
 Preverification The next step after compilation is to preverify the .class files you just compiled. To do so, issue the following command: $ preverify -classpath "../../lib/midpapi.zip;tmpclasses" -d classes \ tmpclasses $ If you're using the J2ME Wireless Toolkit, you must ... [full story]
|
by
 Compilation The next step in the actual development cycle after creating your program is to compile the program source. Before you attempt compilation, make sure your shell environment's command path list includes the path to the directory that contains the ... [full story]
|
by
 Designing and Coding Before you can begin an actual development cycle, you must first create the directory structure that will support the development of your MIDlet suite. A MIDlet suite is a collection of MIDlets that share common application resources. ... [full story]
|
by
 The MIDP Application Development Process • Designing and Coding • Compilation • Preverification • Packaging • Deployment and Execution • Using the J2ME Wireless Toolkit As you already know, J2ME applications are Java programs and execute under the control of ... [full story]
|
by
 Device Application Management Systems All J2ME applications—MIDlets and others—are real Java applications that run under the control of a Java VM. But what controls the Java VM, for instance on a mobile phone? There's no command shell from which you ... [full story]
|
by
 Connected, Limited Device Configuration (CLDC) The second of the two J2ME configurations, the Connected, Limited Device Configuration (CLDC), supports personal, mobile devices, which constitute a significantly less powerful class of devices than the one that the CDC supports. The CLDC ... [full story]
|
by
 The Connected Device Configuration (CDC) The Connected Device Configuration (CDC) intends to capture just the essential capabilities of each kind of device in the category of devices it targets, namely, devices with 2 MB or more of total memory, including ... [full story]
|
by
 MIDP Almanac
Alert
javax.microedition.lcdui
[View full
width]Object Displayable Screen Alert
... [full story]
|
by
 CLDC Almanac
ArithmeticException
java.lang
[View full
width]Object Throwable Exception RuntimeException ... [full story]
|
by
 Almanac Legend
The Almanac format presents all classes and interfaces in
alphabetic order. Each class displays a list of its members in alphabetic order,
mixing fields, methods, and constructors together.
The Almanac format used in this book is modeled after the style ... [full story]
|
by
 Exiting a MIDlet
The CLDC Specification states that a call to the method
java.lang.System.exit is effectively equivalent to calling the method
Runtime.getRuntime().exit. This means that in a CLDC program, calling
the System.exit method will exit the virtual machine. However, since
MIDP ... [full story]
|
by
 Application Resource Files
MIDP provides the capability of storing resources in the application's JAR that can be accessed
by a MIDlet at run time. An example of such a resource might be a locale bundle,
an icon, or a graphical image; ... [full story]
|
by
 System Properties
MIDP inherits the system property mechanism from CLDC (see Section
5.2.10, "Property Support"). In addition to the properties provided by the
CLDC, the MIDP Specification defines the following additional
properties that can be retrieved by calling the method
java.lang.System.getProperty ... [full story]
|
by
 Timer Support
MIDlets may need to delay or schedule activities to be
performed at a later time. The MIDP Specification provides two mechanisms to enable
this:
Timers are used for time-based
events while a MIDlet is running. For example, a timer used ... [full story]
|
by
 Over-the-Air User-Initiated Provisioning
MIDP devices without installed MIDlets would not be all that
useful. Granted, a device may provide a way to download MIDlets through serial
cable or similar mechanism, which would enable the installation of MIDlets.
However, one of the ... [full story]
|
by
 MIDP System Software
In the preceding sections and chapters, frequent references
were made to the piece of software called the "system," "MIDP system," or the
"execution environment." The MIDP Specification calls this software the application management
software, or the AMS. In ... [full story]
|
by
 MIDlet Suites
One of the central goals for the MIDP application model is to
provide support for the controlled sharing of data and resources between
multiple, possibly simultaneously running MIDlets. To accomplish this goal while
retaining a secure environment, the MIDP ... [full story]
|
by
 Recommended Security Policy for GSM/UMTS Devices
The MIDP Specification defines the security model and mechanisms
to determine whether applications can be trusted, and for them to request
specific permissions. The specification does not mandate a specific policy or
how those mechanisms ... [full story]
|
by
 Establishing Trust for MIDlet Suites by Using X.509
PKI
The mechanisms for signing and authenticating MIDlet suites are
based on Internet standards for public key cryptography RFC 2437 [reference 6],
RFC 2459 [reference 7], RFC 2560 [reference 8],
and WAPCERT [reference ... [full story]
|
by
 APIs That Are Not Security Sensitive
APIs and functions that are not security sensitive are
accessible by all MIDlet suites. These APIs are listed in Table 18.3.
Table 18.3. APIs freely permitted for all MIDlet
suites
API
Description
javax.microedition.rms
RMS APIs
javax.microedition.midlet
MIDlet Life-cycle APIs
javax.microedition.lcdui
User Interface APIs
javax.microedition.lcdui.game
The Game ... [full story]
|
by
 Trusted MIDlet Suite Security Model
Today, many functions are provided by applications built into
the device. Trust in the applications comes from trust in the device
manufacturer and network operator who are clearly identified.
Consumers also need to know and trust downloadable ... [full story]
|
by
 Sandbox for Untrusted MIDlet Suites
The MIDP Specification version 1.0 constrained MIDlet suites to
operate in a sandbox that prevented access to sensitive APIs and functions of
the device. This model was useful for many applications, and is included and
formalized ... [full story]
|