Oracle® Java Micro Edition Software Development Kit Developer's Guide Release 3.4 for Eclipse on Windows E37550-04 |
|
Previous |
Next |
This chapter describes the Oracle Java ME SDK technology platforms, also called stacks. They are: CLDC with MIDP and IMP-NG, as discussed in "Emulation Platforms."
A project runs on a particular emulation platform. The Device Manager determines whether a device is appropriate for your project based on the platform, the APIs your application uses, and a set of device properties. If you run an application and an appropriate emulator or device is currently running, the SDK automatically installs and runs your application in the current device so that you do not have to launch the emulator repeatedly.
An emulator simulates the execution of an application on one or more target devices. An emulation platform enables you to understand the user experience for an application and test basic portability. For example, a platform enables you to run applications on several sample devices with different features, such as screen size, keyboard, runtime profile and other characteristics.
Oracle Java ME SDK provides the following emulation platforms:
Connected Limited Device Configuration (CLDC) with Mobile Information Device Profile (MIDP)
CLDC with MIDP, Information Module Profile - Next Generation (IMP-NG) subset
All platforms include predefined devices with different screen sizes, runtime profiles, and input methods.
See "CLDC with MIDP," and "IMP-NG."
CLDC/MIDP applications conform to the following specifications:
Connected Limited Device Configuration 1.1
http://jcp.org/en/jsr/detail?id=139
Mobile Information Device Profile 2.1
http://download.oracle.com/otndocs/jcp/midp-2.1-mrel-oth-JSpec
All the JSRs listed in "JCP APIs."
CLDC/MIDP applications are targeted for devices that typically have the following capabilities:
A 16-bit or 32-bit processor with a clock speed of 16MHz or higher
At least 160 KB of non-volatile memory allocated for the CLDC libraries and virtual machine
At least 192 KB of total memory available for the Java platform
Low power consumption, often operating on battery power
Connectivity to some kind of network, often with a wireless, intermittent connection and limited bandwidth
Typical devices might be cellular phones, pagers, low-end personal organizers, and machine-to-machine equipment. In addition, CLDC can also be deployed in home appliances, TV set-top boxes, and point-of-sale terminals.
The SDK provides two default emulators to support CLDC:
ClamshellJavaMEPhone1
A flip phone with a primary display and a secondary display.
JavaMEPhone1 and JavaMEPhone2
A flat touch screen device.
These devices support CLDC 1.1, MIDP 2.1, and optional packages for JSRs 75, 82, 135, 172, 177, 179, 184, 205, 211, 226, 234, 239, 256, 257, and 280.
See Chapter 4, "Using Sample Projects" and Chapter 6, "Working With Devices."
JSR 228 describes the Information Module Profile - Next Generation, referred to as IMP-NG. This JSR extends and enhances JSR 195: Information Module Profile.
The IMP-NG implementation depends upon CLDC 1.1. It is a strict subset of MIDP 2.1 that excludes MIDP 2.1 graphical display capabilities, resulting in a smaller footprint appropriate for Information Modules (IMs). Potential devices for CLDC with IMP-NG might be modems, home electronics devices, or industrial metering devices.
An IMP-NG application is an IMlet, and multiple IMlets in a single JAR file form an IMlet suite. When creating an IMlet project you follow the same process that you use to create a Java ME Mobile Application project and select an IMP-NG device. The device selection determines the supported JSRs.
The IMP-NG stack supports the following JCP APIs: JSRs 75, 120, 172, 177, 179, 257, and 280. In addition, Oracle provides APIs to support IMP-NG development, as described in "Oracle APIs."
The Oracle Java ME SDK implementation provides IMP-NG emulation, on-device tooling connectivity to external devices, and Attention (AT) Command support. The SDK emulator supports IMP-NG with IMPNGDevice1 and IMPNGDevice2 skins and provides simple interfaces for Inter-Integrated Circuit (I2C), Serial Peripheral Interface (SPI), General Purpose Input/Output (GPIO), and Memory-mapped I/O (MMIO) buses. The emulator's external event generator provides a way for you to inject calls to emulate AT Commands, alter basic pin and port information for GPIO, and memory block values.