Профиль мобильного информационного устройства - Mobile Information Device Profile

Профиль мобильного информационного устройства (MIDP) - это спецификация, опубликованная для использования Ява на встроенные устройства такие как мобильные телефоны и КПК. MIDP является частью Платформа Java, Micro Edition (Java ME) фреймворк и сидит на вершине Подключенная ограниченная конфигурация устройства (CLDC), набор интерфейсов программирования нижнего уровня. MIDP был разработан в рамках Процесс сообщества Java. Первые устройства MIDP были выпущены в апреле 2001 года.

Общие API

Ядро интерфейсы прикладного программирования определяются лежащими в основе Подключенная ограниченная конфигурация устройства система.

javax.microedition.io

Содержит специфичные для Java ME классы, используемые для операций ввода-вывода.

javax.microedition.lcdui

Содержит специфичные для Java ME классы, используемые для GUI.

LCDUI имеет простой подход на основе экрана, когда один Displayable всегда активен в пользовательском интерфейсе приложения. LCDUI API предоставляет небольшой набор отображаемых объектов, общих для пользовательских интерфейсов мобильных устройств: List, Alert, TextBox, Form и Canvas. Для всех отображаемых объектов реализация MIDP устройства имеет контроль над представлением и компоновкой отображаемого объекта. Холст - это низкоуровневая графическая поверхность, для которой приложение имеет полный контроль над тем, что на нем отображается, хотя обычно некоторое пространство зарезервировано для системных областей, таких как заголовок экрана и индикаторы, общие в пользовательских интерфейсах мобильных устройств. Начиная с MIDP 2.0, Canvas также поддерживает полноэкранный режим, который позволяет использовать полноэкранную графику, что особенно полезно для игр.

LCDUI также имеет довольно уникальный подход к абстрактным операциям, называемый командами. Размещение команд, добавленных к отображаемому объекту, полностью зависит от реализации этого набора инструментов на устройстве. Программист приложения использует указанные в API типы команд для указания использования или цели команды в пользовательском интерфейсе приложения. Общие типы: НАЗАД, ВЫХОД, ПУНКТ, ЭКРАН. Идея абстракции команд состоит в том, чтобы сделать приложения более переносимыми на различные мобильные устройства. Разработчики приложений должны правильно использовать типы команд, чтобы указать цель операции, а реализация устройства затем помещает операцию в общее расположение для данного типа в конкретном стиле пользовательского интерфейса устройства. Это может быть, например, определенная клавиша, например «клавиша навигации назад» для команд НАЗАД или кнопка на экране.

Акроним LCDUI

Аббревиатура LCDUI на самом деле была шуткой внутри JCP Expert Group. Хотя он не определен в спецификациях MIDP, он обозначает Пользовательский интерфейс устройства с ограниченными возможностями. (Шутка была в том, что на самом деле никто не знал, что это означает). Позже книга Программирование беспроводных устройств на платформе Java 2, Micro Edition дал это как определение.

Появились и другие распространенные псевдоопределения. "Жидкокристаллический экран Пользовательский интерфейс "будет отражать тот факт, что в мобильных телефонах обычно используются ЖК-дисплеи; однако API не предназначен специально для этой конкретной технологии отображения. Также сказано, что «LCD UI» означает «наименьший общий знаменатель "из-за того, что конкретный пользовательский интерфейс имеет максимально простой дизайн.

javax.microedition.rms

Система управления записями обеспечивает форму постоянного хранилища для Java ME; база данных для мобильного устройства.

javax.microedition.midlet

Содержит базовые классы для приложений Java ME и позволяет приложениям получать уведомления об изменениях их состояния.

Необязательные JSR

Следующее Запросы спецификации Java представляют собой набор дополнительных JSR, которые можно добавить поверх реализации MIDP для добавления дополнительных функций. В качестве дополнительных JSR нет гарантии, что телефон MIDP будет реализовывать такие API.

javax.microedition.messaging

API беспроводного обмена сообщениями (необязательно) для отправки SMS и MMS сообщений.

javax.microedition.pim

API управления личной информацией (необязательно), доступ к адресной книге устройства, списку дел, календарю.

javax.microedition.io.file

Дополнительный пакет подключения к файлам (FCOP) - это один из двух дополнительных пакетов, определенных JSR 75 через процесс сообщества Java. API FileConnection, указанный в JSR 75, предоставляет доступ к локальным файловым системам на таких устройствах, как КПК. Чтобы преодолеть проблемы безопасности, MIDlet должен включить запрошенное разрешение файла в свой JAD-файл в свойстве MIDLet-Permission.

Инструменты разработки

Есть несколько различных способов создания приложений MIDP: код можно написать на простом Текстовый редактор, или можно использовать более продвинутый IDE такие как NetBeans, IntelliJ (со встроенным подключаемым модулем Java ME) или Затмение (с такими плагинами, как EclipseME ), который имеет пользовательский интерфейс для графического представления любых создаваемых вами форм, а также предоставляет множество других дополнительных функций, недоступных в простом текстовом редакторе.

Ограничения MIDP 1.0

  • MIDP 1.0 не имеет активных API рендеринга
  • MIDP 1.0 не поддерживает прямой доступ к пикселям изображения (данные RGB)
  • MIDP 1.0 не поддерживает полноэкранный режим
  • MIDP 1.0 не поддерживает аудио.
  • MIDP 1.0 требует только поддержки HTTP[требуется разъяснение ].
  • MIDP 1.0 не может запросить статус ключа (хотя ключевые события поддерживаются)
  • Спецификации не всегда ясны, что приводит к различиям в реализациях.

Некоторых ограничений можно избежать, используя API-интерфейс конкретного поставщика или MIDP 2.0, что, очевидно, снижает переносимость приложения.

История

MIDP был разработан в рамках Процесс сообщества Java.

  • MIDP 1.0 (JSR 37) - утвержден 19 сентября 2000 г.
  • MIDP 2.0 (JSR 118) - утвержден 20 ноября 2002 г.
  • MIDP 3.0 (JSR 271) - утвержден 9 декабря 2009 г.

На смену MIDP теперь приходит MEEP, начиная с Java ME 8.

Смотрите также

Список используемой литературы

  • Ортис, К. Энрике; Жигер, Эрик (15 января 2001 г.), Профиль мобильного информационного устройства для Java 2 Micro Edition (1-е изд.), Джон Уайли и сыновья, стр.352, ISBN  0-471-03465-7

внешняя ссылка