La configuración de dispositivo limitado conectado ( CLDC ) es una especificación de un marco para aplicaciones Java ME que describe el conjunto básico de bibliotecas y características de máquina virtual que deben estar presentes en una implementación. La CLDC se combina con uno o más perfiles para brindar a los desarrolladores una plataforma para crear aplicaciones en dispositivos integrados con recursos muy limitados, como buscapersonas y teléfonos móviles . [1] La CLDC se desarrolló bajo el Proceso de la Comunidad Java como JSR 30 [2] (CLDC 1.0) y JSR 139 [3] (CLDC 1.1).
CLDC está diseñado para dispositivos que tienen capacidad de procesamiento, memoria y gráficos limitados. Los dispositivos suelen tener las siguientes características: [1]
En comparación con el entorno Java SE , varias API están completamente ausentes y algunas API se modifican de tal manera que el código requiere cambios explícitos para admitir CLDC. En particular, ciertos cambios no son solo la ausencia de clases o interfaces, sino que realmente cambian las firmas de las clases existentes en la biblioteca de clases base. Un ejemplo de esto es la ausencia de la Serializable
interfaz, que no aparece en la biblioteca de clases base debido a restricciones en el uso de la reflexión. Por lo tanto, todas java.lang.*
las clases que normalmente implementan Serializable
no implementan esta interfaz de etiquetado .
Otros ejemplos de limitaciones dependen de la versión que se utilice, ya que algunas características se reintrodujeron con la versión 1.1 de CLDC. [4]
Serializable
interfaz no es compatible.java.lang.reflect
paquete y cualquiera de sus clases no son compatibles.java.lang.Class
los cuales se obtienen Constructores o Métodos o Campos.Object.finalize()
método.Un perfil es un conjunto de API que admiten dispositivos con diferentes capacidades y recursos dentro del marco CLDC para proporcionar un entorno de aplicación Java completo. Existen perfiles específicos para dispositivos que van desde máquinas expendedoras hasta decodificadores, siendo el perfil de teléfono móvil MIDP el más frecuente. [5]
El perfil de dispositivo de información móvil es un perfil diseñado para teléfonos celulares. Hay dos versiones de MIDP disponibles, especificadas en JSR 37 [6] [7] (MIDP 1.0) y JSR 118 [8] [9] (MIDP 2.0). Ambas versiones proporcionan una API de interfaz gráfica de usuario orientada a LCD , y MIDP 2.0 incluye una API de juegos 2D básica. Las aplicaciones escritas para utilizar este perfil se denominan MIDlets . Muchos teléfonos celulares vienen con una implementación de MIDP y es una plataforma popular para juegos descargables para teléfonos celulares. [10]
El perfil del módulo de información se especifica en JSR 195 [11] y está diseñado para máquinas expendedoras , tarjetas de red, enrutadores, cabinas telefónicas y otros sistemas con pantalla simple o sin pantalla y alguna forma de acceso limitado a la red bidireccional. Solo se definen las API para la creación de aplicaciones, el almacenamiento y el acceso a la red. Estas son un subconjunto de los paquetes javax.microedition.io, rms y midlet en MIDP. Siemens Mobile y Nokia presentaron esta especificación al JCP.
El perfil DoJa fue diseñado para el teléfono móvil i-mode por NTT DoCoMo .
El perfil Digital Set Top Box , especificado en JSR 242, [12] está diseñado para el mercado de cable. También conocido como OnRamp , este perfil se basa en un subconjunto de la Plataforma de aplicaciones OpenCable ( OCAP ), que define un conjunto de API para el desarrollo de aplicaciones para decodificadores y dispositivos similares. El perfil consta de subconjuntos del Perfil básico personal de CDC que incluyen soporte para AWT , Xlet , acceso a archivos y API de red, así como varias interfaces relacionadas con los medios de OCAP. El perfil completo abarca 31 paquetes Java y aproximadamente 1500 API. [5]
Los paquetes opcionales de PDA se especifican en JSR-75 [13] y están diseñados para PDA como Palm o dispositivos Windows CE . La especificación define dos paquetes independientes que representan características importantes que se encuentran en muchos PDA y otros dispositivos móviles. Estos paquetes son:
java.io
java.lang
java.util
java.util
biblioteca de colecciones. Este paquete contiene las clases de colección como Vector y Hashtable . También contiene la clase de calendario y fecha.