Articulo de referencia

Perfil del dispositivo de información móvil

El Perfil de Dispositivo de Información Móvil ( MIDP ) es una especificación publicada para el uso de Java en dispositivos integrados como teléfonos móviles y PDA . MIDP forma p...

El Perfil de Dispositivo de Información Móvil ( MIDP ) es una especificación publicada para el uso de Java en dispositivos integrados como teléfonos móviles y PDA . MIDP forma parte del marco de trabajo Java Platform, Micro Edition (Java ME) y se basa en Connected Limited Device Configuration (CLDC), un conjunto de interfaces de programación de bajo nivel. MIDP se desarrolló bajo el Proceso de la Comunidad Java . Los primeros dispositivos MIDP se lanzaron en abril de 2001.

API generales

Las interfaces de programación de aplicaciones principales están definidas por el sistema subyacente de configuración de dispositivos conectados limitados .

javax.microedition.io

Contiene las clases específicas de Java ME utilizadas para las operaciones de entrada/salida.

javax.microedition.lcdui

Contiene las clases específicas de Java ME utilizadas para la interfaz gráfica de usuario (GUI) .

LCDUI tiene un enfoque sencillo basado en pantallas, donde un único Displayable siempre está activo en la interfaz de usuario de la aplicación. La API de LCDUI proporciona un pequeño conjunto de Displayables comunes en las interfaces de usuario de dispositivos móviles: List, Alert, TextBox, Form y Canvas. Para todos los Displayables, la implementación MIDP del dispositivo controla la presentación y el diseño del mismo. Canvas es una superficie gráfica de bajo nivel sobre la que la aplicación tiene control total sobre lo que se renderiza, aunque normalmente se reserva algo de espacio para áreas del sistema, como el título de la pantalla y los indicadores comunes en las interfaces de usuario de dispositivos móviles. Desde MIDP 2.0, Canvas también admite un modo de pantalla completa que permite el uso de gráficos a pantalla completa, lo cual es especialmente útil para juegos. [ 1 ]

LCDUI también tiene un enfoque bastante único de operaciones abstractas, llamadas Comandos. La ubicación de los comandos agregados a un elemento de visualización depende completamente de la implementación de este kit de herramientas en el dispositivo. El programador de la aplicación utiliza tipos de comandos especificados por la API para indicar el uso o propósito del comando en la interfaz de usuario de una aplicación. Los tipos comunes son BACK, EXIT, ITEM, SCREEN. La idea de la abstracción de comandos es hacer que las aplicaciones sean más portátiles en varios dispositivos móviles. Los desarrolladores de aplicaciones deben usar los tipos de comandos correctamente para indicar el propósito de una operación, y la implementación del dispositivo luego coloca la operación en la ubicación común para un tipo dado en el estilo de interfaz de usuario específico de un dispositivo. Esto puede ser, por ejemplo, una tecla específica, como "una tecla de navegación hacia atrás" para los comandos ATRÁS o un botón en la pantalla.

acrónimo LCDUI

El acrónimo LCDUI era en realidad una broma interna del Grupo de Expertos de JCP. Aunque no está definido en las especificaciones MIDP, significa Interfaz de Usuario de Dispositivo de Capacidad Limitada . (La broma radicaba en que nadie más sabía realmente qué significaba). Posteriormente, el libro Programming Wireless Devices with the Java 2 Platform, Micro Edition, proporcionó esta definición.

Han aparecido otras pseudodefiniciones comunes. " Interfaz de usuario de pantalla de cristal líquido " reflejaría el hecho de que los teléfonos móviles suelen usar pantallas LCD; sin embargo, la API no está específicamente diseñada para esta tecnología de visualización en particular. También se dice que "LCD UI" significa " mínimo común denominador " debido a que la interfaz de usuario específica tiene el diseño más simple posible.

javax.microedition.rms

El sistema de gestión de registros proporciona una forma de almacenamiento persistente para Java ME; una base de datos para el dispositivo móvil.

javax.microedition.midlet

Contiene las clases base para aplicaciones Java ME y permite que las aplicaciones reciban notificaciones sobre los cambios en su estado.

JSR opcionales

Las siguientes solicitudes de especificación Java ( JSR) son una selección de las JSR opcionales que se pueden agregar a una implementación MIDP para incorporar funcionalidades adicionales. Al tratarse de JSR opcionales, no hay garantía de que un dispositivo MIDP implemente dichas API.

javax.microedition.messaging

API de mensajería inalámbrica (opcional), para enviar mensajes SMS y MMS.

javax.microedition.pim

API de gestión de información personal (opcional), acceso a la libreta de direcciones, la lista de tareas pendientes y el calendario del dispositivo.

javax.microedition.io.file

El paquete opcional de conexión de archivos (FCOP) es uno de los dos paquetes opcionales definidos por JSR 75 a través del Proceso de la Comunidad Java. La API FileConnection especificada en JSR 75 permite el acceso a los sistemas de archivos locales en dispositivos como las PDA. Para superar los problemas de seguridad, MIDlet debe incluir el permiso de archivo solicitado en su archivo JAD, dentro de la propiedad MIDLet-Permission.

Herramientas de desarrollo

Existen varias formas diferentes de crear aplicaciones MIDP: el código se puede escribir en un editor de texto plano o se puede utilizar un IDE más avanzado como NetBeans , IntelliJ (con el complemento Java ME incluido) o Eclipse (con complementos como EclipseME ), que cuenta con una interfaz de usuario para diseñar gráficamente cualquier formulario que se cree, además de proporcionar muchas otras funciones avanzadas que no están disponibles en un simple editor de texto.

Limitaciones de MIDP 1.0

  • MIDP 1.0 no tiene API de renderizado activas.
  • MIDP 1.0 no admite el acceso directo a los píxeles de la imagen (datos RGB).
  • MIDP 1.0 no es compatible con el modo de pantalla completa.
  • MIDP 1.0 no tiene soporte para audio.
  • MIDP 1.0 solo requiere compatibilidad con HTTP .
  • MIDP 1.0 no puede consultar el estado de las claves (aunque sí admite eventos de clave).
  • Las especificaciones no siempre son claras, lo que da lugar a diferencias en las implementaciones.

Algunas limitaciones pueden evitarse utilizando una API específica del proveedor o MIDP 2.0, lo que reduce la portabilidad de la aplicación.

Historia

MIDP se desarrolló bajo el Proceso de la Comunidad Java .

  • MIDP 1.0 (JSR 37) - Aprobado el 19 de septiembre de 2000 [ 2 ]
  • MIDP 2.0 (JSR 118) - Aprobado el 20 de noviembre de 2002 [ 3 ]
  • MIDP 3.0 (JSR 271) - Aprobado el 9 de diciembre de 2009 [ 4 ]

MIDP fue sucedido por ME Embedded Profile a partir de Java ME 8. [ 5 ]

Véase también

Referencias

  1. Virkus, Robert, ed. (2005), "Bailando alrededor de las limitaciones de los dispositivos" , Pro J2ME Polish: Open Source Wireless Java Tools Suite , Berkeley, CA: Apress, pp. 283–323 , doi : 10.1007/978-1-4302-0045-1_15 , ISBN  978-1-4302-0045-1, recuperado el 4 de diciembre de 2024
  2. "JSR 37: Perfil de dispositivo de información móvil para la plataforma J2ME™" . Archivado del original el 6 de diciembre de 2023.
  3. "JSR 118: Perfil de dispositivo de información móvil 2.0" . Archivado del original el 8 de diciembre de 2023.
  4. "JSR 271: Perfil 3 de dispositivos de información móvil" . Archivado del original el 4 de octubre de 2023.
  5. "JSR 361: Perfil integrado de Java™ ME" . Archivado del original el 2 de junio de 2023.

Bibliografía

  • Ortiz, C. Enrique; Giguere, Eric (15 de enero de 2001), Perfil de dispositivo de información móvil para Java 2 Micro Edition (1.ª  ed.), John Wiley & Sons , 352 págs. , ISBN  0-471-03465-7
  • Perfil de dispositivo de información móvil (MIDP) (MIDP 2.0)
  • Página de colaboración JSR 271 (MIDP 3.0)
  • Novedades de MIDP 2.0