This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these messages)
|
Mobile Information Device Profile (MIDP) is a specification published for the use of Java on embedded devices such as mobile phones and PDAs. MIDP is part of the Java Platform, Micro Edition (Java ME) framework and sits on top of Connected Limited Device Configuration (CLDC), a set of lower level programming interfaces. MIDP was developed under the Java Community Process. The first MIDP devices were launched in April 2001.
The core application programming interfaces are defined by the underlying Connected Limited Device Configuration system.
Contains the Java ME-specific classes used for I/O operations.
Contains the Java ME-specific classes used for the GUI.
LCDUI has a simple screen based approach where a single Displayable is always active at anyone 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 use of full screen graphics, which is especially useful for games.
LCDUI also has a quite unique approach of abstract operations, called Commands. The placement of commands added to a displayable is completely up to the device implementation of this toolkit. The application programmer uses API specified command types to indicate the usage or purpose of the command in an application user interface. Common types are BACK, EXIT, ITEM, SCREEN. The idea of the command abstraction is to make applications more portable across various mobile devices. Application developers should use the command types properly to indicate the purpose of an operation, and device implementation then places the operation to the common location for a given type in a device's specific user interface style. This may be e.g. a specific key, like "a back navigation key" for BACK commands or a button on screen.
The acronym LCDUI was actually an in-house joke within the JCP Expert Group. Though undefined in the MIDP specifications, it denotes Limited Capability Device User Interface. (The joke was that no one else really knew what it stood for). Later, the book Programming Wireless Devices with the Java 2 Platform, Micro Edition gave this as the definition.
Other common pseudo-definitions have appeared. "Liquid Crystal Display User Interface" would reflect the fact that mobile phones normally use LCDs; however, the API is not specifically tailored to this particular display technology. It is also said that "LCD UI" stands for "lowest common denominator" due to the fact the specific UI has the simplest possible design.
The Record Management System provides a form of persistent storage for Java ME; a database for the mobile device.
Contains the base classes for Java ME applications, and allows applications to be notified of changes to their state.
The following Java Specification Requests are a selection of the optional JSRs which can be added on top of a MIDP implementation to add extra functionalities. As optional JSRs there is no guarantee that a MIDP handset will implement such APIs.
Wireless messaging API (optional), for sending SMS and MMS messages.
Personal information management API (optional), access the device's Address Book, to-do List, Calendar.
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.
There are several different ways to create MIDP applications: code can be written in a plain text editor, or one can use a more advanced IDE such as NetBeans, IntelliJ (with bundled Java ME plugin), or Eclipse (with plugins such as EclipseME) 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.
Some limitations may be avoided by using a vendor-specific API or MIDP 2.0, which reduces the portability of the application.
MIDP was developed under the Java Community Process.
MIDP was succeeded by ME Embedded Profile as of Java ME 8. [4]
Jakarta Enterprise Beans is one of several Java APIs for modular construction of enterprise software. EJB is a server-side software component that encapsulates business logic of an application. An EJB web container provides a runtime environment for web related software components, including computer security, Java servlet lifecycle management, transaction processing, and other web services. The EJB specification is a subset of the Java EE specification.
Java Platform, Micro Edition or Java ME is a computing platform for development and deployment of portable code for embedded and mobile devices. Java ME was formerly known as Java 2 Platform, Micro Edition or J2ME.
Java Platform, Standard Edition is a computing platform for development and deployment of portable code for desktop and server environments. Java SE was formerly known as Java 2 Platform, Standard Edition (J2SE).
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 such as smartphones with J2ME support and feature phones which have small graphical displays, simple numeric keypad interfaces and limited network access over HTTP.
DoJa profile is a Java application environment specification for DoCoMo's i-mode mobile phone.
Computer accessibility refers to the accessibility of a computer system to all people, regardless of disability type or severity of impairment. The term accessibility is most often used in reference to specialized hardware or software, or a combination of both, designed to enable the use of a computer by a person with a disability or impairment.
The Connected Device Configuration (CDC) is a specification of a framework for Java ME applications describing the basic set of libraries and virtual-machine features that must be present in an implementation. The CDC is combined with one or more profiles to give developers a platform for building applications on embedded devices ranging from pagers up to set-top boxes. The CDC was developed under the Java Community Process as JSR 36 and JSR 218.
The Connected Limited Device Configuration (CLDC) is a specification of a framework for Java ME applications describing the basic set of libraries and virtual-machine features that must be present in an implementation. The CLDC is combined with one or more profiles to give developers a platform for building applications on embedded devices with very limited resources such as pagers and mobile phones. The CLDC was developed under the Java Community Process as JSR 30 and JSR 139.
Binary Runtime Environment for Wireless is an obsolete application development platform created by Qualcomm, originally for code division multiple access (CDMA) mobile phones, featuring third-party applications such as mobile games. It was offered in some feature phones as well as smartphones.
Java APIs for Bluetooth Wireless Technology (JABWT) is a J2ME specification for APIs that allows Java MIDlets running on embedded devices such as mobile phones to use Bluetooth for short-range wireless communication. JABWT was developed as JSR-82 under the Java Community Process.
The Mobile Media API (MMAPI) is an API specification for the Java ME platform CDC and CLDC devices such as mobile phones. Depending on how it is implemented, the APIs allow applications to play and record sounds and video, and to capture still images. MMAPI was developed under the Java Community Process as JSR 135.
Java is a set of computer software and specifications that provides a software platform for developing application software and deploying it in a cross-platform computing environment. Java is used in a wide variety of computing platforms from embedded devices and mobile phones to enterprise servers and supercomputers. Java applets, which are less common than standalone Java applications, were commonly run in secure, sandboxed environments to provide many features of native applications through being embedded in HTML pages.
Java Application Descriptor (JAD) files describe the MIDlets that are distributed as JAR files. JAD files are commonly used to package Java applications or games that can be downloaded to mobile phones. Java applications enable mobile phones to interact functionally with online web services, such as the ability to send SMS messages via GSM mobile Internet or interact in multiplayer games. Some BlackBerry devices use JAD files for themes, while on some mobile phones without memory cards it is not possible to download any apps.
The Location API for Java ME is a compact and generic Java 2 ME API that produces information about the device's present physical location to Java applications. This API can be optionally supported by mobile phone and PDA manufacturers, with the minimum Java platform required for this API being CLDC v1.1.
Perst is an open source, dual license, object-oriented embedded database management system (ODBMS). Both the Java programming language, and the C# programming language versions are compact and Perst has been implemented on smart phones running the Android and Windows Phone (WP7) operating systems.
PDA Optional Packages for the J2ME Platform JSR 75 is a specification that standardizes access in the Java on embedded devices such as mobile phones and PDAs to data that resides natively on mobile devices. JSR 75 is part of the Java ME framework and sits on top of CLDC, a set of lower level programming interfaces. It has 2 main components. Not all devices that claim to implement JSR 75 will implement both components.
The phoneME project is Sun Microsystems reference implementation of Java virtual machine and associated libraries of Java ME with source, licensed under the GNU General Public License.
The Nokia 2730 classic is a Nokia Quad-band GSM/UMTS 3G cell phone that includes a camera, FM radio, Bluetooth, music and video player, as well as several internet-based applications.
The Mobile 3D Graphics API, commonly referred to as M3G, is an open source graphics API and file format specification for developing Java ME applications that produce 3D computer graphics on embedded devices such as mobile phones and PDAs.
MicroEmulator — is a free and open-source platform independent J2ME emulator allowing to run MIDlets on any device with compatible JVM. It is written in pure Java as an implementation of J2ME in J2SE.