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 la máquina virtual que deben estar presentes en una implementación. El 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] El CLDC fue desarrollado bajo el Proceso de la Comunidad de Java como JSR 30 [2] (CLDC 1.0) y JSR 139 [3] (CLDC 1.1).
Requerimientos típicos
CLDC está diseñado para dispositivos que tienen capacidad de procesamiento, memoria y capacidad gráfica limitadas. Los dispositivos suelen tener las siguientes características: [1]
- 16- bit o 32-bit CPU con una velocidad de reloj de 16 MHz o mayor
- Al menos 160 KB de ROM asignados para las bibliotecas CLDC y la máquina virtual
- Al menos 8 KB de RAM total disponible para la plataforma Java
- Bajo consumo de energía, a menudo funciona con batería.
- Conectividad a algún tipo de red, a menudo con una conexión inalámbrica e intermitente y un ancho de banda limitado.
Limitaciones notables
En comparación con el entorno Java SE , varias API están ausentes por completo y algunas API se modifican de modo 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 en realidad 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 las java.lang.*
clases que implementan normalmente 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]
CLDC 1.0 y 1.1
- La
Serializable
interfaz no es compatible. - Partes de las capacidades de reflexión de la edición estándar de Java:
- El
java.lang.reflect
paquete y cualquiera de sus clases no son compatibles. - Métodos sobre los
java.lang.Class
que se obtienen Constructores o Métodos o Campos.
- El
- Sin finalización. CLDC no incluye el
Object.finalize()
método. - Manejo de errores limitado. Los errores que no son de tiempo de ejecución se manejan al finalizar la aplicación o reiniciar el dispositivo.
- Sin cargadores de clases definidos por el usuario
- Sin grupos de subprocesos o subprocesos de demonio.
Perfiles
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 MIDP el más frecuente. [5]
Perfil del dispositivo de información móvil
El perfil de dispositivo de información móvil es un perfil diseñado para teléfonos móviles. 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 GUI orientada a LCD , con MIDP 2.0 que incluye una API de juegos 2D básica. Las aplicaciones escritas para usar este perfil se denominan MIDlets . Muchos teléfonos móviles vienen con una implementación MIDP y es una plataforma popular para juegos de teléfonos móviles descargables. [10]
Perfil del módulo de información
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 de red bidireccional limitado. Solo se definen las API para la creación de aplicaciones, el almacenamiento y el acceso a la red. Estos son un subconjunto de los paquetes javax.microedition.io, rms y midlet en MIDP. Siemens Mobile y Nokia presentaron esta especificación al JCP.
Perfil de DoJa
El DoJa perfil fue diseñado para DoCoMo 's i-mode teléfono móvil por NTT DoCoMo .
Perfil de decodificador digital
El perfil del decodificador digital , especificado en JSR 242, [12] está diseñado para el mercado de cables. También conocido como OnRamp , este perfil se basa en un subconjunto de OpenCable Application Platform ( OCAP ), que define un conjunto de API para el desarrollo de aplicaciones para decodificadores y dispositivos similares. El perfil consta de subconjuntos del perfil de base personal de CDC, incluido el soporte para AWT , Xlet , acceso a archivos y API de red, así como varias interfaces relacionadas con los medios de OCAP. El perfil completo incluía 31 paquetes Java y aproximadamente 1500 API. [5]
Paquetes opcionales
Los paquetes opcionales de PDA se especifican en JSR-75 [13] y están diseñados para PDA como dispositivos Palm o 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:
- Gestión de información personal (PIM), que brinda a los dispositivos acceso a datos de gestión de información personal contenidos en libretas de direcciones, calendarios y listas de tareas pendientes.
- FileConnection (FC), que permite el acceso a sistemas de archivos y dispositivos de almacenamiento extraíbles, como tarjetas de memoria externas.
API generales
java.io
- Una versión optimizada del paquete java.io que se encuentra en la edición estándar para realizar operaciones de entrada / salida.
java.lang
- Contiene clases que son esenciales para el lenguaje Java. Este paquete contiene tipos estándar de Java como Integers y Strings, así como excepciones básicas, funciones matemáticas, funciones del sistema, subprocesos y funciones de seguridad.
java.util
- Una versión optimizada de la
java.util
biblioteca de colecciones. Este paquete contiene las clases de colección como Vector y Hashtable . También contiene calendario y clase de fecha.
Ver también
- Configuración de dispositivos conectados o CDC , otro marco para crear aplicaciones Java ME
Referencias
- ^ a b Descripción general de CLDC http://java.sun.com/javame/technology/cldc/overview.jsp
- ^ JSR 30, CLDC 1.0 http://www.jcp.org/en/jsr/detail?id=30
- ^ JSR 139, CLDC 1.1 http://www.jcp.org/en/jsr/detail?id=139
- ^ API de J2ME: ¿Qué API provienen de la plataforma J2SE? http://developers.sun.com/mobility/midp/articles/api/
- ^ a b Resumen de perfiles basados en CLDC http://developers.sun.com/mobility/midp/ttips/cldc/
- ^ JSR 37, MIDP 1.0 http://www.jcp.org/en/jsr/detail?id=37
- ^ MIDP 1.0 API http://java.sun.com/javame/reference/apis/jsr037/
- ^ JSR 118, MIDP 2.0 http://www.jcp.org/en/jsr/detail?id=118
- ^ API MIDP 2.0 http://java.sun.com/javame/reference/apis/jsr118/
- ^ Las plataformas móviles de pocketgamer.co.uk cuentan con http://www.pocketgamer.co.uk/r/Mobile/feature.asp?c=1266
- ^ JSR 195, Perfil del módulo de información http://www.jcp.org/en/jsr/detail?id=195
- ^ JSR 242, Perfil de decodificador digital http://www.jcp.org/en/jsr/detail?id=242
- ^ JSR 75, Paquetes opcionales de PDA http://www.jcp.org/en/jsr/detail?id=75
enlaces externos
- Página de inicio de CLDC
- Consorcio ESR
- Marco CLDC basado en OSGi