MIDlet

A MIDlet is an application that uses the Mobile Information Device Profile (MIDP) of the Connected Limited Device Configuration (CLDC) for the Java ME environment. Typical applications include games running on mobile devices and cell phones which have small graphical displays, simple numeric keypad interfaces and limited network access over HTTP.[1]

  // Called to pause the MIDlet
  public void pauseApp() { }

  // Called to terminate the MIDlet
  public void destroyApp(boolean unconditional) { }

Contents

Application deployment

MIDlets are packaged together in suites inside a .jar file with a Manifest file indicating which classes implement which MIDlet. As well as the Java classes, the .jar file can contain other resources such as images or sound files. A .jad file contains the location of the .jar as well as the list of MIDlets in the suite and other attributes.[2][3]

The .jad file describing a MIDlet suite is used to deploy the applications in one of two ways. Over the air (OTA) deployment involves uploading the .jad and .jar files to a Web server which is accessible by the device over HTTP. The user downloads the .jad file and installs the MIDlets they require.[4] Local deployment requires the MIDlet files to be transferred to the device over a non-network connection, such as Bluetooth or IrDa and may involve device-specific software.[5]

MIDlet security

Bytecode verification

Due to the memory and processing power available on a device, the class verifier in the Mobile VM is much smaller and only performs a fast, incomplete class verification. The bytecode for the MIDlet classes must therefore be pre-verified by using a preverifier to annotate the class files to enable the Mobile VM to then run the resulting bytecodes. The resulting bytecodes are valid bytecodes because the annotations are using attributes of the bytecode to make the notes for the Mobile VM to read in doing its final incomplete class verification.

Restrictions

Unlike a Java applet, a MIDlet is limited to use of the LCDUI rather than the more familiar widgets of AWT and Swing. There are also restrictions on the size of .jar files and the number of concurrent HTTP connections based on the MIDP specification.

See also

References

  1. ^ Topley, Kim (2002). J2ME in a Nutshell. O'Reilly Media. pp. 46–47. ISBN 9780596002534. http://books.google.com/books?id=ieBA3-Q-V6sC&pg=PA49. Retrieved 3 March 2010. 
  2. ^ Retrieving MIDlet Attributes http://developers.sun.com/mobility/midp/ttips/getAppProperty/index.html
  3. ^ MIDlet Life Cycle http://developers.sun.com/mobility/learn/midp/lifecycle/
  4. ^ Introduction to OTA Application Provisioning http://developers.sun.com/mobility/midp/articles/ota/
  5. ^ Deploying Wireless Java Applications http://developers.sun.com/mobility/midp/articles/deploy/