FACTOID # 96: If you're Dutch or Swedish, you're among the world's most likely to end up living in a retirement home. If you're Japanese, you'll probably end up living with your children.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS   

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Mobile Information Device Profile

Mobile Information Device Profile (MIDP), is a specification published for the use of Java on embedded devices such as cell phones and PDAs. MIDP is part of the Java Platform, Micro Edition (Java ME) framework. MIDP sits on top of a "configuration", such as the Connected Limited Device Configuration or Connected Device Configuration. MIDP was developed under the Java Community Process as JSR 37 (MIDP 1.0) and JSR 118 (MIDP 2.0). As of 2006, MIDP 3.0 is being developed under JSR 271. The first MIDP devices were models i80s and i50sx from Motorola, launched in April 2001. Java is an object-oriented programming language developed by James Gosling and colleagues at Sun Microsystems in the early 1990s. ... An embedded system is a special-purpose computer system, which is completely encapsulated by the device it controls. ... Cellular redirects here. ... palmOne Tungsten T5 Personal Digital Assistants(PDAs) are handheld devices that were originally designed as personal organisers, but became much more versatile over the years. ... Java Micro Edition (Java ME or as it used to be referred to J2ME), is a runtime and collection of Java APIs for the development of software for resource contrained devices such as PDAs, cell phones and other consumer appliances. ... In software development, a framework is a defined support structure in which another software project can be organized and developed. ... The Connected Limited Device Configuration (CLDC) is a framework for J2ME applications targeted at devices with very limited resources such as pagers and mobile phones. ... The Connected Device Configuration (CDC) is a framework for building J2ME applications on embedded devices ranging from a pager up to Set-top box. ... The Java Community Process or JCP, established in 1995, is a formalized process which allows interested parties to be involved in the definition of future versions and features of the Java platform. ... 2006 is a common year starting on Sunday of the Gregorian calendar. ... Motorola (NYSE: MOT) is an American international communications company based in Schaumburg, Illinois, a Chicago suburb. ...

Contents

Noteworthy Limitations

  • MIDP 1.0 has no active rendering APIs
  • MIDP 1.0 has no support for direct access to image pixels (RGB data)
  • MIDP 1.0 has no support for full screen mode
  • MIDP 1.0 has no support for audio.
  • MIDP 1.0 only requires HTTP support.
  • MIDP 1.0 cannot query key status (although key events are supported)
  • The specifications are not always clear, leading to differences in implementations.
  • Some limitations may be avoided by using a vendor-specific API or MIDP 2.0, which obviously reduces the portability of the application.

General APIs

The core APIs are defined by the underlying Configuration Connected Limited Device Configuration. The Connected Limited Device Configuration (CLDC) is a framework for J2ME applications targeted at devices with very limited resources such as pagers and mobile phones. ...

javax.microedition.io

Contains the Java ME-specific classes used for I/O operations.

javax.microedition.lcdui

Contains the Java ME-specific classes used for the GUI. This article or section needs a complete rewrite for the reasons listed on the talk page. ...


LCDUI has a simple screen based approach where a single Displayable is always active at a time in the application user interface. LCDUI API provides a small set of displayables common in mobile device user interfaces: List, Alert, TextBox, Form and Canvas. For all displayables the device MIDP implementation has control over the presentation and layout of the displayable. Canvas is a low-level graphics surface for which an application has full control over what is rendered to it, although normally some space is reserved for system areas like screen title and indicators common in mobile device UIs. Since MIDP 2.0, Canvas also supports a full-screen mode that allows to make full screen graphics, which is especially useful for games.


LCDUI also has quite unique approach of abstract operations, called Commands. The placement of commands added to a displayable is completely upto the device implementation of this toolkit. The application programmer uses API specified command types to indicate the usage or purpose of the command in application user interface. Common types are BACK, EXIT, ITEM, SCREEN. The idea of the command abstraction is to make applications more portable between various different mobile device. Application developers should use the types propertly to indicate the purpose of an operation and device implementation then places the operation to the common location for a given type in devices specific user interface style. This may be e.g. a specific key e.g. "a back navigation key" for BACK commands or button on screen.


The term LCDUI was actually a joke in JCP Expert Group that created it. It has not been opened up in the MIDP specifications but stands for Limited Capability Device User Interface. The joke was that no-one else really knows what it stands for. Then later the Programming Wireless Devices with the Jave 2 Platform, Micro Edition book gave this term out.


Other common definitions have appeared. "LCD UI" due to the fact that mobile phones normally use LCD displays; the API is not specifically tailored to this particular display technology. It is also said that "LCD UI" stands for Least Common Divisor due to the fact the specific UI has simplest possible design. Reflective twisted nematic liquid crystal display. ... The user interface is the part of a system exposed to users. ... An application programmatic interface (API) is the interface that a computer system, library or application provides in order to allow requests for services to be made of it by other computer programs, and/or to allow data to be exchanged between them. ...

javax.microedition.rms

Provides a form of persistent storage for Java ME.

javax.microedition.midlet

Contains the base classes for Java ME applications.

Specialized APIs added in MIDP 2.0

MIDP 2.0 saw the introduction of gaming and multimedia APIs and some optional packages.

javax.microedition.media

Contains the base classes of the multimedia playback. These are approximately a subset of the JSR 135 Java Mobile Media API. The Multimedia Java API (MMAPI) is an API specification for the Java ME platform CDC and CLDC devices such as mobile phones. ...

javax.microedition.lcdui.game

A gaming API aimed at simple 2D sprite based games.

javax.microedition.pki

Authenticate APIs for secure connections.

javax.microedition.messaging

Wireless messaging API (optional), sending SMS and MMS messages.

javax.microedition.pim

Personal information management API (optional), access the device's address book.

javax.microedition.io.file

The File Connection Optional Package (FCOP) is one of two optional packages defined by JSR 75 through the Java Community Process. The FileConnection API specified in JSR-75 gives access to the local file systems on devices like PDA. In order to overcome security issues MIDlet needs to include requested file permission in its JAD file under MIDLet-Permission property.

Development Tools

There are several different ways to create MIDP applications: Code can be written in a plain text editor, or you can use a more advanced IDE such as NetBeans or Eclipse (with the appropriate plugins) which has a user interface for graphically laying out any forms you create, as well as providing many other advanced features not available in a simple text editor. Notepad is the standard text editor for Microsoft Windows A text editor is a piece of computer software for editing plain text. ... An integrated development environment (IDE), also known as integrated design environment and integrated debugging environment, is a type of computer software that assists computer programmers to develop software. ... NetBeans refers to both a platform for the development of Java desktop applications, and an integrated development environment (IDE) developed using the NetBeans Platform. ... Eclipse is a free software / open source platform-independent software framework for delivering what the project calls rich-client applications, as opposed to thin client browser-based applications. ...

See also

A MIDlet is a Java program for embedded devices, more specifically the J2ME virtual machine. ...

External links

Wikibooks Programming has more about this subject:

  Results from FactBites:
 
Mobile Information Device Profile (MIDP) (593 words)
MIDP 2.0 is backward compatible with MIDP 1.0, and continues to target mobile information devices such as mobile phones and PDAs.
MIDP RI 2.0: This version of the MIDP reference implementation is based on the MIDP 2.0 specification and supports the CLDC RI 1.0.4.
MIDP for Palm OS is an optimized J2ME implementation based on the CLDC 1.0 and MIDP 1.0 specifications, and targeted at Palm OS 3.5.
Connected Limited Device Configuration - Wikipedia, the free encyclopedia (268 words)
The Connected Limited Device Configuration (CLDC) is a framework for J2ME applications targeted at devices with very limited resources such as pagers and mobile phones.
Almost all new cell phones come with a MIDP implementation, and it is now the de-facto standard for downloadable cell phone games.
The Information Module Profile is designed for Vending Machines, Network cards, routers, Telephone boxes and other systems with either simple or no display and some form of limited two way network access.
  More results at FactBites »

 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your location
Your comments
Please enter the 5-letter protection code


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.