Introducción a MIDP 2.0 

F. Javier García Castellano
Web: http://decsai.ugr.es/~fjgc, Mail: fjgc@decsai.ugr.es
IndiceInicioPerl

(C) Decsai
Web: http://decsai.ugr.es

1.- Definiciones

CDLC proporciona los aspectos básicos para ejecutar Java en pequeños dispositivos, no obstante para la realización de una aplicación real, no nos sirve de mucho ya que su funcionalidad es más bien escasa. CLDC no tiene clases que nos permitan interaccionar con los usuarios, con el entorno de nuestra aplicación, con otras aplicaciones a través de la red o de poder acceder a dispositivos de almacenamiento. Esto es debido a que CLDC está concebido para que sea la base sobre la que se asienten aquellos perfiles que si nos van a proporcionar las funcionalidades que nuestras aplicaciones van a necesitar.

MIDP es el acrónimo de Perfil para dispositivos de información móvil (Mobile Information Device Profile) y nos proporciona un perfil que se apoya en CLDC y que nos va a proporcionar los paquetes y clases necesarios para el desarrollo de nuestras aplicaciones. MIDP está orientado principalmente a teléfonos móviles, aunque existe una implementación para PalmOS (versión 3.5 y superiores) y PocketPC, por lo que es también utilizable en casi cualquier PDA.

Se denomina Midlet a las aplicaciones Java realizadas usando la especificación de MIDP, es decir, un midlet será una aplicación que puede usar la funcionalidad aportadas por MIDP y por CLDC. Un midlet siempre estará compuesto, al menos, por una clase principal que hereda directamente de la clase javax.microedition.midlet.MIDlet.

2.- El API de MIDP 2.0

Para realizar nuestro midlets además de CLDC tendremos que conocer el API que nos proporciona MIDP ( API significa interfaz de programación de aplicaciones). El API se compone de las clases y paquete heredados de CLDC y de otra serie de paquetes situados en la jerarquía javax.microedition

El API de MIDP 2.0, se compone de los siguientes paquetes:

3.- Propiedades de MIDP

Al igual que sucede con los Applets, el entorno de ejecución de los Midlets es diferente al de una aplicación java normal. La función principal del midlet no es la función main() y tampoco está permitido que sea el midlet el que termine la ejecución de la máquina virtual. Para poder asegurar esta última restricción, el método exit() de la clase System o el de la clase Runtime (tienen el mismo efecto: cerrar la máquina virtual que se está usando) , requiere usar la excepción SecurityException para poder ser utilizado. La única forma que tiene un Midlet de indicar que ha terminado es usando el método MIDlet.notifyDestroyed.

Además de las propiedades definidas en CLDC, los dispositivos MIDP necesitan asignar un valor las propiedades microedition.locale y microedition.profiles. Estas propiedades deben estar disponibles usando java.lang.System.getProperty.

La propiedad microedition.locale refleja la configuración local del dispositivo. Normalmente se compondrá de dos partes: idioma y país separados por un guión (y no con el carácter de subrayado como se utiliza en J2SE). Un valor típico puede ser es-ES o en-GB o en-US. Debido a que en MIDP no hay apenas soporte para la configuración local, estos valores serán utilizado son cuando se está instalando externamente un Midlet, para que el usuario pueda seleccionar aquel que se ajuste mejor a su configuración local. Por defecto será igual a null. Los códigos usados para el idioma siguen el estándar ISO-639 ( ver http://ftp.ics.uci.edu/pub/ietf/http/related/iso639.txt ), mientras que los códigos usados para el país siguen el estándar ISO-3166 http://ftp.ics.uci.edu/pub/ietf/http/related/iso3166.txt.

La propiedad microedition.profile nos indica la versión de MIDP que estamos usando y debe ser, al menos, MIDP-1.0 o MIDP-2.0 si es la versión 2 de la especificación de MIDP. Los dispositivos que soportan más de un perfil (por ejemplo que soporte MIDP 2.0 y anteriores, léase, MIDP 1.0) deben listarlos todos usando espacios. Si alguno de los perfiles no está implementado la instalación debe fallar.