The Connected Limited Device Configuration (CLDC) is a specification of a
framework
A framework is a generic term commonly referring to an essential supporting structure which other things are built on top of.
Framework may refer to:
Computing
* Application framework, used to implement the structure of an application for an op ...
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 phone
A mobile phone, cellular phone, cell phone, cellphone, handphone, hand phone or pocket phone, sometimes shortened to simply mobile, cell, or just phone, is a portable telephone that can make and receive calls over a radio frequency link whi ...
s.
[CLDC Overview http://java.sun.com/javame/technology/cldc/overview.jsp] The CLDC was developed under the
Java Community Process as
JSR 30
[JSR 30, CLDC 1.0 http://www.jcp.org/en/jsr/detail?id=30] (CLDC 1.0) and JSR 139
[JSR 139, CLDC 1.1 http://www.jcp.org/en/jsr/detail?id=139] (CLDC 1.1).
Typical requirements
CLDC is designed for devices that have limited processing power, memory, and graphical capability. Devices typically have the following features:
* 16-
bit or 32-bit
CPU
A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, a ...
with a clock speed of 16
MHz or higher
* At least 160
KB ROM allocated for the CLDC libraries and virtual machine
* At least 8
KB total
RAM available to the
Java platform
* Low power consumption, often operating on battery power
* Connectivity to some kind of network, often with a wireless, intermittent connection and limited bandwidth
Noteworthy limitations
Compared to the
Java SE environment, several APIs are absent entirely, and some APIs are altered such that code requires explicit changes to support CLDC. In particular, certain changes aren't just the absence of classes or interfaces, but actually change the signatures of existing classes in the base class library. An example of this is the absence of the
Serializable
interface, which does not appear in the base class library due to restrictions on reflection usage. All
java.lang.*
classes which normally implement
Serializable
do not, therefore, implement this
tagging interface.
Other examples of limitations depend on the version being used, as some features were re-introduced with version 1.1 of CLDC.
CLDC 1.0 and 1.1
* The
Serializable
interface is not supported.
* Parts of the reflection capabilities of the Java standard edition:
** The
java.lang.reflect
/code> package and any of its classes not supported.
** Methods on java.lang.Class
/code> which obtain Constructors or Methods or Fields.
* No finalization. CLDC does not include the Object.finalize()
method.
* Limited error handling. Non-runtime errors are handled by terminating the application or resetting the device.
* No user-defined class loaders
* No thread groups or daemon threads.
Profiles
A profile is a set of APIs that support devices with different capabilities and resources within the CLDC framework to provide a complete Java application environment. There are specific profiles for devices ranging from vending machines to set-top boxes, with the mobile phone profile MIDP being the most prevalent.[Summary of CLDC-Based Profiles http://developers.sun.com/mobility/midp/ttips/cldc/]
Mobile Information Device Profile
The Mobile Information Device Profile
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 Lim ...
is a profile designed for cell phones. There are two versions of MIDP available, specified in JSR 37[JSR 37, MIDP 1.0 http://www.jcp.org/en/jsr/detail?id=37] (MIDP 1.0) and JSR 118[JSR 118, MIDP 2.0 http://www.jcp.org/en/jsr/detail?id=118] (MIDP 2.0). Both versions provide an LCD oriented GUI API, with MIDP 2.0 including a basic 2D gaming API. Applications written to use this profile are called MIDlets. Many cell phones come with a MIDP implementation, and it is a popular platform for downloadable cell phone games.[pocketgamer.co.uk mobile platforms feature http://www.pocketgamer.co.uk/r/Mobile/feature.asp?c=1266]
Information Module Profile
The Information Module Profile is specified in JSR 195[JSR 195, Information Module Profile http://www.jcp.org/en/jsr/detail?id=195] and is designed for vending machine
A vending machine is an automated machine that provides items such as snacks, beverages, cigarettes, and lottery tickets to consumers after cash, a credit card, or other forms of payment are inserted into the machine or otherwise made. The fi ...
s, network cards, routers, telephone boxes and other systems with either simple or no display and some form of limited two way network access. Only APIs for application creation, storage, and network access are defined. These are a subset of the javax.microedition.io, rms and midlet packages in MIDP. Siemens mobile
Siemens Mobile was a German mobile phone manufacturer and a division of Siemens AG. Siemens sold Siemens Mobile to the Taiwan-based BenQ in 2005, subsequently becoming BenQ-Siemens and succeeded by Gigaset. The last Siemens-branded mobile phone ...
and Nokia
Nokia Corporation (natively Nokia Oyj, referred to as Nokia) is a Finnish multinational telecommunications, information technology, and consumer electronics corporation, established in 1865. Nokia's main headquarters are in Espoo, Finland, i ...
put forward this specification to the JCP.
DoJa Profile
The DoJa
DoJa profile is a Java application environment specification for DoCoMo's i-mode mobile phone.
DoJa is based on the Java ME CLDC API that is defined in the Java Community Process (JCP). DoJa is a profile defined by NTT DoCoMo to provide commun ...
profile was designed for the i-mode
NTT DoCoMo's i-mode is a mobile internet (distinct from wireless internet) service popular in Japan. Unlike Wireless Application Protocols, i-mode encompasses a wider variety of internet standards, including web access, e-mail, and the pa ...
mobile phone by NTT DoCoMo.
Digital Set Top Box Profile
The Digital Set Top Box profile, specified in JSR 242,[JSR 242, Digital Set Top Box Profile http://www.jcp.org/en/jsr/detail?id=242] is designed for the cable market. Also referred to as OnRamp, this profile is based on a subset of the OpenCable Application Platform (''OCAP''), which defines a set of APIs for the development of applications for set-top boxes and similar devices. The profile consists of subsets from the CDC Personal Basis Profile including support for AWT, Xlet, file access, and network APIs, as well as several media-related interfaces from OCAP. The whole profile encompassed 31 Java packages and approximately 1500 APIs.
Optional Packages
The PDA
PDA may refer to:
Science and technology
* Patron-driven acquisition, a mechanism for libraries to purchase books
*Personal digital assistant, a mobile device
* Photodiode array, a type of detector
* Polydiacetylenes, a family of conducting po ...
Optional Packages are specified in JSR-75[JSR 75, PDA Optional Packages http://www.jcp.org/en/jsr/detail?id=75] and are designed for PDAs such as Palm or Windows CE devices.
The specification defines two independent packages that represent important features found on many PDAs and other mobile devices. These packages are:
* Personal Information Management (PIM) which gives devices access to personal information management data contained in address books, calendars, and to-do lists.
* FileConnection (FC) which allows access to file systems and removable storage devices, such as external memory cards.
General APIs
; java.io
/code>: A streamlined version of the java.io package found in the standard edition for doing Input/Output operations.
;
/code>: Contains classes that are essential to the Java language. This package contains standard java types like Integers and Strings as well as basic exceptions, math functions, system functions, threading and security functions.
;
/code>: A streamlined version of the java.util
collection library. This package contains the collection classes like Vector and Hashtable. It also contains calendar and date class.
See also
* Connected Device Configuration or ''CDC'', another framework for building Java ME applications
References
{{Reflist
External links
CLDC homepage
ESR Consortium
OSGi-based CLDC-framework
Java device platform
Java specification requests