The Mobile Information Device Profile (MIDP) v2.1 for the Java Platform, Micro Edition (Java METM) defines an enhanced architecture and the associated APIs required to enable an open, third-party, application development environment for mobile devices.
The MIDP 2.1 specification is based on the MIDP 1.0 and MIDP 2.0 specifications and provides backward compatibility with MIDP 1.0 and MIDP 2.0 so that MIDlets written for MIDP 1.0 or MIDP 2.0 can execute in MIDP 2.1 environments. It is included in from 3rd Edition Feature Pack 2 and Series 40 5th Edition onwards. The MIDP 2.1 API is supported in its entirety as specified in the JSR-118 specificationThe MIDP 2.1 API is supported in its entirety as specified in the JSR-118 specification.
The MIDP implementation supports a single display for each
active MIDlet with at most one active Displayable
at
a time.
All UI callbacks are serialized, and they never occur in parallel, although timer callbacks may run concurrently with UI event callbacks.
MIDP API is thread-safe. Methods can be called from callbacks, TimerTask
s
or other threads created by the application.
The MIDP implementation provides full support for standard key codes for the ITU-T keypad (0-9, *, #).
Canvas
repeat
events are supported.
Double-buffered graphics are supported.
Repainting is done automatically for all screens, except
for Canvas
es. A MIDlet using Canvas
must
call the repaint()
method to paint the contents. However, this does not ensure
that the screen is updated with the contents of the Canvas
immediately.
The MIDlet may have to force this by flushing all the pending repaint()
requests
by calling the method serviceRepaints()
.
The Text
input elements such as the
TextField
and TextBox
support
various text input modes (for example, writing language, predictive input,
and numbers-only input mode) that are consistent across Java and native applications.
No Series 40 device has a jog dial. Therefore the corresponding jog dial requirements from the MIDP API specification are not implemented.
Canvas
motion and Canvas
pointer
events are not supported.