Mobile Information Device Profile ( 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 encuentra sobre Connected Limited Device Configuration (CLDC), un conjunto de interfaces de programación de nivel inferior. MIDP se desarrolló en el marco del Java Community Process . Los primeros dispositivos MIDP se lanzaron en abril de 2001.
Las interfaces de programación de aplicaciones principales están definidas por el sistema de configuración de dispositivo limitado conectado subyacente .
Contiene las clases específicas de Java ME utilizadas para operaciones de E/S.
Contiene las clases específicas de Java ME utilizadas para la GUI .
LCDUI tiene un enfoque simple basado en pantalla donde un único Displayable siempre está activo en cualquier momento en la interfaz de usuario de la aplicación. La API de LCDUI proporciona un pequeño conjunto de displays comunes en las interfaces de usuario de dispositivos móviles: List, Alert, TextBox, Form y Canvas. Para todos los displays, la implementación MIDP del dispositivo tiene control sobre la presentación y el diseño del displayable. Canvas es una superficie gráfica de bajo nivel para la cual una aplicación tiene control total sobre lo que se le muestra, aunque normalmente se reserva algo de espacio para áreas del sistema como el título de la pantalla y los indicadores comunes en las IU de dispositivos móviles. Desde MIDP 2.0, Canvas también admite un modo de pantalla completa que permite el uso de gráficos de pantalla completa, lo que es especialmente útil para juegos.
LCDUI también tiene un enfoque bastante único de operaciones abstractas, llamadas Comandos. La ubicación de los comandos agregados a un elemento que se puede mostrar depende completamente de la implementación del dispositivo de este kit de herramientas. El programador de aplicaciones utiliza tipos de comandos especificados por API para indicar el uso o el propósito del comando en una interfaz de usuario de la 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 luego la implementación del dispositivo coloca la operación en la ubicación común para un tipo determinado 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 BACK o un botón en la pantalla.
El acrónimo LCDUI fue en realidad una broma interna dentro del grupo de expertos del JCP. Aunque no está definido en las especificaciones del MIDP, denota Limited Capability Device User Interface (Interfaz de usuario de dispositivo de capacidad limitada ). (La broma era que nadie más sabía realmente lo que significaba). Más tarde, el libro Programming Wireless Devices with the Java 2 Platform, Micro Edition (Programación de dispositivos inalámbricos con la plataforma Java 2, edición micro) dio 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 normalmente utilizan LCD; sin embargo, la API no está diseñada específicamente para esta tecnología de pantalla en particular. También se dice que "LCD UI" significa " mínimo común denominador " debido al hecho de que la interfaz de usuario específica tiene el diseño más simple posible.
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.
Contiene las clases base para aplicaciones Java ME y permite que las aplicaciones reciban notificaciones sobre cambios en su estado.
Las siguientes solicitudes de especificación de Java son una selección de los JSR opcionales que se pueden agregar a una implementación MIDP para agregar funcionalidades adicionales. Como JSR opcionales, no hay garantía de que un teléfono MIDP implemente dichas API.
API de mensajería inalámbrica (opcional), para enviar mensajes SMS y MMS.
API de gestión de información personal (opcional), acceso a la libreta de direcciones del dispositivo, lista de tareas pendientes, calendario.
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 brinda acceso a los sistemas de archivos locales en dispositivos como PDA. Para superar los problemas de seguridad, MIDlet debe incluir el permiso de archivo solicitado en su archivo JAD bajo la propiedad MIDLet-Permission.
Hay varias maneras diferentes de crear aplicaciones MIDP: el código se puede escribir en un editor de texto simple , o se puede usar un IDE más avanzado como NetBeans , IntelliJ (con el complemento Java ME incluido) o Eclipse (con complementos como EclipseME) que tiene una interfaz de usuario para diseñar gráficamente cualquier formulario que cree, además de proporcionar muchas otras funciones avanzadas que no están disponibles en un editor de texto simple.
Algunas limitaciones pueden evitarse utilizando una API específica del proveedor o MIDP 2.0, lo que reduce la portabilidad de la aplicación.
MIDP fue desarrollado bajo el Proceso Comunitario Java .
MIDP fue reemplazado por ME Embedded Profile a partir de Java ME 8. [4]