Characteristics of the MIDP Environment

The MIDP environment is networked, screen-based, and secure. Network capability does not need to be constant; a device could be connected to a network only intermittently.

Screen-Based Environment

In MIDP's screen-based environment, app designers use screens to organize their user interfaces into manageable tasks. (See for more information.) MIDP implementations control the look and layout of screen components. Consumers interact on a screen-by-screen basis with their apps. All screens are part of LCDUI, the user-interface components of MIDP. The package was designed for devices with small screens and limited or absent windowing capability. For example, unlike Java 2 Platform, Standard version (J2SE) user-interface packages (such as Swing), LCDUI does not provide overlapping windows; it is not a desktop user-interface toolkit. There are two categories of LCDUI screens: structured and unstructured. Structured screens are more portable, but do not give the app access to low-level input mechanisms or control of the screen. Unstructured screens provide access to low-level I/O, but can be less portable. Structured screens are created using the LCDUI high-level APIs, which provide user-interface components such as lists and forms. See through for more information. Unstructured screens are created using the LCDUI low-level APIs, which provide access to low-level device I/O. Because I/O is device-specific, apps written with the low-level APIs are not guaranteed to be portable. For example, it is possible to use an unstructured screen to write an app that depends on a touch screen. This type of app is not portable to all devices, only to devices with touch screens. and contain advice to help app designers create portable apps using the low-level APIs.

Security Features

The MIDP 2.0 environment also has security features: MIDlets require permission to access security-sensitive APIs. A trusted MIDlet suite (one for which the device can trust the origin and integrity of the JAR file) can be granted permission to use these APIs. It is up to the device to determine whether a MIDlet suite is trusted. Untrusted MIDlet suites are either denied permission to the security-sensitive APIs or can access them after getting permission from the user. See for more information.