The MID Profile
As mentioned earlier, a configuration (such as the CLDC) is supposed to define a "baseline" for specific profiles. A profile is designed to supply a runtime environment for a specific type of device. The first profile unleashed on the wireless world is the Mobile Information Device Profile, or MIDP, as it's commonly called.
A little trivia: Just as a Java program loaded into a browser was called an applet, Java programs loaded onto a MID profile are known as midlets.
The MID profile is designed for a device that should support the following hardware:
-
Display: 96x54 pixel size, 1-bit display depth, aspect ratio 1:1
-
Input: One or more of the following: one-handed keyboard, two-handed keyboard, touch screen
-
Memory: 128KB non-volatile memory for the MIDP components; 8KB non-volatile memory for application-created persistent data; 32KB volatile memory for the Java runtime
-
Networking: Two-way, wireless, possibly intermittent, with limited bandwidth
A MIDP-class device should also support the following software features:
-
Minimum kernel to manage the underlying hardware
-
Mechanism to read and write from non-volatile memory
-
Read and write access to the device's wireless networking
-
Mechanism to provide a time base for use in time-stamping
-
Minimal capacity to write to a bitmapped graphics display
-
Mechanism to capture user input from one or more input mechanisms (see the earlier hardware input requirements)