The MIDP Profile Layer LCDUI
MIDP is specifically targeted at small, mobile devices. It includes the LCDUI specification, which is optimized for this device class. LCDUI defines both the UI event model and the standard GUI widgets available to MIDlets (lists, forms, textboxes, and so on). LCDUI therefore requires integration both with the native UI Framework and Application Architecture.
In order to make MIDlets (as far as possible) indistinguishable from native applications, LCDUI uses the native widget set as peers for the Java widgets. A MIDlet runs as a single native application owning its own window group, listed in and launchable from the task list (if the user interface variant has a task list) and integrated with the save notifier framework, power events, and foreground/background notification. Input methods are also inherited from the native widget set so that all native functionality is available to MIDlets, for example, mechanisms such as T9, handwriting recognition and non-keyboard character set input (e.g. Chinese), which are all based on the Front End Processor (FEP) framework. This also harnesses the native locale support, for example for bi-directional text and capitalization.
The LCDUI implementation consists of a framework that implements the core user interface functionality and provides the high-level interface between Java ME LCDUI APIs and the concrete user interface platform implementation areas that are implemented in separate graphics plugins (which licensees customize to provide integration with the graphics system of their specific user interface platform).
The MIDP Generic Connection Framework (GCF) provides the generic mechanism for creating a connection from a URI and enables a wide variety of connections including networking connections such as HTTP and HTTPS, sockets and server sockets, secure sockets and datagrams, as well as support for 'push' connections and on-device mechanisms for local file and directory access (which is known as 'File GCF').
The MIDP GCF design maps the Java class interfaces to the underlying Symbian OS communications models and provides core communications functionality for MIDlets including:
• opening, closing, and disposing of connections
• opening Java streams for appropriate types
• a server connection pattern for types capable of receiving incoming connections.
Symbian's Java ME implementation enables all the relevant MIDP 2.0 GCF protocols and its framework is intended to be used by extensions that provide support for future protocols. In particular, it supports push connections, using the SystemAMS dynamic and static resource management for managing the registered connections.
Mobile Multimedia
Mobile Multimedia implements access to the multimedia support provided in the underlying Symbian OS, enabling MIDlets to play and record audio and video data from a wide range of inputs using a range of possible mechanisms, including streaming. The design follows a framework-plug-in architecture:
• the framework provides the high-level interface to MIDP Multimedia functionality
• the reference DLL contains all dependencies on the underlying native multimedia services and can be customized.
PIM and RMS
PIM support is provided for accessing native Symbian OS contacts (i.e. phone book or address book) and agenda (i.e. calendar) entries, including Event and ToDo classes.
Record Management System (RMS) support, which enables MIDlets to store persistent data, is implemented over the native Symbian OS DBMS APIs, using the DBMS in client-server mode and thus enabling databaselike functionality including transaction integrity and sharing between multiple clients for Java applications.
Security
SystemAMS and the MIDP run-time are responsible for supporting the MIDP security model, through static (at installation time) and dynamic (at run time) checking of permissions, which provides for trusted and untrusted MIDlets, and for protection based on security domains. Licensees implement specific security policies by customizing the MIDP security plug-ins.
Post a comment