Платформа Java, Micro Edition

редактировать

Java Platform, Micro Edition или Java ME - это вычислительная платформа для разработки и развертывания переносимого кода для встроенных и мобильных устройств (микроконтроллеры, датчики, шлюзы, мобильные телефоны, персональные цифровые помощники, телевизионные приставки, принтеры). Java ME ранее была известна как Java 2 Platform, Micro Edition или J2ME.

Платформа использует объектно-ориентированный язык программирования Java. Это часть семейства программных платформ Java. Java ME была разработана Sun Microsystems, приобретенной корпорацией Oracle в 2010 году; платформа заменила аналогичную технологию PersonalJava. Первоначально разработанный в рамках процесса сообщества Java как JSR 68, различные разновидности Java ME развились в отдельные JSR. Oracle предоставляет эталонную реализацию спецификации, но, как правило, не предоставляет бесплатные двоичные реализации своей среды выполнения Java ME для мобильных устройств, а полагается на третьих лиц, которые предоставят свои собственные.

По состоянию на 22 декабря 2006 г. исходный код Java ME находится под лицензией GNU General Public License и выпускается под названием проекта phoneME.

С 2008 года все платформы Java ME ограничены функциями JRE 1.3 и используют эту версию формата файла класса (внутренне известную как версия 47.0). Если Oracle когда-либо объявит новый раунд версий конфигурации Java ME, которые поддерживают более поздние форматы файлов классов и языковые функции, например, соответствующие JRE 1.5 или 1.6 (в частности, дженерики ), это повлечет за собой дополнительную работу со стороны всех поставщиков платформы. для обновления своих JRE.

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

Существует более 2,1 миллиарда мобильных телефонов и КПК с поддержкой Java ME. Он был популярен в устройствах стоимостью менее 200 долларов, таких как Nokia Series 40. Он также использовался в операционной системе Bada и в ОС Symbian вместе с собственным программным обеспечением. Пользователи Windows CE, Windows Mobile, Maemo, MeeGo и Android могут загрузить Java ME для своих соответствующих сред («доказательство концепции» для Android).

Содержание

  • 1 Connected Limited Device Configuration
    • 1.1 Профиль мобильного информационного устройства
      • 1.1.1 Профиль информационного модуля
  • 2 Конфигурация подключенного устройства
    • 2.1 Профиль фундамента
    • 2.2 Персональный базовый профиль
  • 3 Реализации
  • 4 JSR (запросы спецификации Java)
    • 4.1 Фундамент
    • 4.2 Основные расширения
    • 4.3 Будущее
  • 5 СОЭ
  • 6 См. Также
  • 7 ссылки
  • 8 Библиография
  • 9 Внешние ссылки

Подключенная ограниченная конфигурация устройства

Основная статья: Конфигурация подключенного ограниченного устройства

Связи с ограниченной Конфигурацией устройство (CLDC) содержит строгое подмножество библиотек Java-класс, и минимальное количество, необходимое для виртуальной машины Java, чтобы работать. CLDC в основном используется для классификации множества устройств с фиксированной конфигурацией.

Конфигурация предоставляет базовый набор библиотек и функций виртуальных машин, которые должны присутствовать в каждой реализации среды J2ME. В сочетании с одним или несколькими профилями Connected Limited Device Configuration дает разработчикам надежную платформу Java для создания приложений для потребительских и встроенных устройств. Конфигурация разработана для устройств с общим объемом памяти от 160 до 512 КБ, в которых для платформы Java доступно не менее 160 КБ ПЗУ и 32 КБ ОЗУ.

Профиль мобильного информационного устройства

Профиль мобильного информационного устройства, разработанный для мобильных телефонов, включает в себя графический интерфейс и API хранения данных, а MIDP 2.0 включает базовый игровой API для 2D-игр. Приложения, написанные для этого профиля, называются мидлетами. Почти все новые сотовые телефоны поставляются с реализацией MIDP, и теперь это де-факто стандарт для загружаемых игр для мобильных телефонов. Однако многие мобильные телефоны могут работать только с теми мидлетами, которые были одобрены оператором связи, особенно в Северной Америке.

JSR 271: Профиль мобильного информационного устройства 3 (окончательный выпуск от 9 декабря 2009 г.) определил профиль мобильного информационного устройства 3-го поколения (MIDP3), расширяя функциональные возможности во всех областях, а также улучшая взаимодействие между устройствами. Ключевой целью разработки MIDP3 является обратная совместимость с содержимым MIDP2.

Профиль информационного модуля

Профиля Информационный модуль (IMP) представляет собой профиль для встраиваемых, «обезглавленный» устройств, таких как торговые автоматы, промышленных встраиваемых приложений, систем безопасности и других подобных устройств с простым или без дисплея и с некоторыми ограниченными возможностями подключения к сети.

Первоначально представленный Siemens Mobile и Nokia как JSR- 195, IMP 1.0 является строгим подмножеством MIDP 1.0, за исключением того, что он не включает API пользовательского интерфейса - другими словами, он не включает поддержку пакета Java javax.microedition.lcdui. JSR-228, также известный как IMP-NG, представляет собой следующее поколение IMP, основанное на MIDP 2.0, использующее новые типы безопасности и сетевые интерфейсы MIDP 2.0, а также API-интерфейсы и другие API-интерфейсы, такие как PushRegistry и platformRequest(), но, опять же, оно не включает пользовательский интерфейс. API, ни API игры.

Конфигурация подключенного устройства

Основная статья: Конфигурация подключенного устройства

Connected Device Configuration является подмножеством Java SE, содержащий почти все библиотеки, которые не Gui связаны между собой. Он богаче, чем CLDC.

Профиль Фонда

Базовый профиль - это профиль конфигурации подключенного устройства Java ME (CDC). Этот профиль предназначен для использования устройствами, требующими полной реализации виртуальной машины Java, включая всю платформу Java, Standard Edition API. Типичные реализации будут использовать некоторое подмножество этого набора API в зависимости от поддерживаемых дополнительных профилей. Эта спецификация была разработана в рамках процесса сообщества Java.

Персональный базовый профиль

Персональный базовый профиль расширяет базовый профиль и включает облегченную поддержку графического интерфейса пользователя в виде подмножества AWT. Это платформа, на которой построен BD-J.

Реализации

Sun предоставляет эталонную реализацию этих конфигураций и профилей для MIDP и CDC. Начиная с JavaME 3.0 SDK, IDE на основе NetBeans будет поддерживать их в одной среде IDE.

В отличие от многочисленных двоичных реализаций платформы Java, созданных Sun для серверов и рабочих станций, Sun не предоставляет двоичных файлов для платформ целевых объектов Java ME, за исключением MIDP 1.0 JRE (JVM) для Palm OS. Sun не предоставляет J2ME JRE для устройств на базе Microsoft Windows Mobile (Pocket PC), несмотря на открытую кампанию в Sun по выпуску, по слухам, внутренней реализации PersonalJava, известной под кодовым названием «Captain America». Сторонние реализации широко используются поставщиками Windows Mobile.

Операционные системы, ориентированные на Java ME, были реализованы DoCoMo в форме DoJa и SavaJe как SavaJe OS. Последняя компания была куплена Sun в апреле 2007 года и теперь составляет основу Sun JavaFX Mobile.

Виртуальная машина Mika с открытым исходным кодом предназначена для реализации JavaME CDC / FP, но не сертифицирована как таковая (за сертифицированные реализации необходимо взимать роялти, что непрактично для проекта с открытым исходным кодом). Следовательно, устройствам, использующим эту реализацию, не разрешается заявлять о совместимости с JavaME CDC.

В операционной системе Android на базе Linux используется проприетарная версия Java, которая по назначению похожа, но во многом отличается от Java Me.

JSR (запросы спецификации Java)

Фонд

JSR # Имя Описание
68 Спецификация платформы J2ME
30 CLDC 1.x
37 MIDP 1.0
118 MIDP 2.x
139 CLDC 1.1
271 MIDP 3.0 Только Java ME 3.4 и более ранние версии, последняя спецификация для мобильных телефонов, функции языка Java как Java SE 1.3
360 CLDC 8 Новое в Java ME 8
361 MEEP 8 Новое в Java ME 8, функция языка, как Java SE 8, для Интернета Everything устройств

Основные расширения

JSR # Имя Описание MSA
75 Подключение файлов и API PIM Файловая система, контакты, календарь, список дел да
82 Bluetooth Связь через последовательный порт Bluetooth и обмен файлами (OBEX) да
120 API беспроводной передачи сообщений (WMA)
135 Mobile Media API (MMAPI) Аудио, видео, мультимедиа да
172 API веб-служб Парсеры XML и RPC да
177 API служб безопасности и доверия (SATSA) APDU, Java Card RMI (JCRMI), инфраструктура открытых ключей (PKI) и криптография да
179 Location API GPS-координаты, адреса, датчики ориентации, магазины ориентиров да
180 SIP API да
184 Мобильная 3D-графика (M3G) 3D-графика высокого уровня да
185 Технология Java для беспроводной индустрии (JTWI) Общий
205 API беспроводной передачи сообщений (WMA) 2.0 Отправка и получение SMS и MMS
211 Content Handler API (CHAPI) да
226 API масштабируемой 2D-векторной графики для J2ME (M2G) Обработка SVG Tiny да
228 Профиль информационного модуля - новое поколение (IMP NG)
229 Платежный API да
234 Расширенные мультимедийные приложения (AMMS) Расширения MMAPI да
238 API мобильной интернационализации Локализованные ресурсы, региональные даты и форматирование чисел, сравнение строк с языковыми стандартами да
239 Привязки Java для OpenGL ES API
248 Архитектура мобильных услуг (MSA) да
253 API мобильной телефонии
256 API мобильных датчиков Считывание значений с акселерометров, гироскопов, компасов, термометров, барометров и др.
257 API бесконтактной связи
258 API настройки мобильного пользовательского интерфейса
272 API службы мобильного вещания для портативных терминалов
280 XML API для Java ME
281 IMS Services API
287 Масштабируемая 2D-векторная графика API 2.0 для Java ME
293 Location API 2.0
298 Telematics API для Java ME
300 DRM API для Java ME
325 Средства связи IMS

Будущее

JSR # Имя Описание
297 API мобильной 3D-графики (M3G) 2.0

СОЭ

Консорциум ESR посвящен стандартам для встраиваемой Java. Особенно экономичные стандарты. Типичными областями применения являются промышленное управление, межмашинное взаимодействие, медицина, электронное измерение, домашняя автоматизация, потребитель, интерфейс человек-машина,...

СОЭ № Имя Описание
001 B-ON (за пределами CLDC) B-ON служит очень надежной основой для внедрения встроенного программного обеспечения Java. Он определяет надежную фазу инициализации устройства Java и 3 типа объектов: неизменяемые, бессмертные и обычные (смертные) объекты.
002 MicroUI MicroUI определяет улучшенную архитектуру, позволяющую создать открытую стороннюю среду разработки приложений для встроенных устройств HMI. Такие устройства обычно имеют некоторую форму дисплея, некоторые датчики ввода и, возможно, некоторые возможности воспроизведения звука. Эта спецификация охватывает потенциально широкий набор устройств.
011 MWT MWT определяет три разные роли: дизайнеры виджетов, дизайнеры внешнего вида и дизайнеры приложений. MWT позволяет двоичному приложению HMI работать одинаково на всех устройствах, которые обеспечивают совместимую структуру MWT (встроенные устройства, сотовые телефоны, телевизионные приставки, ПК и т. Д.), Что обеспечивает истинную согласованность и повсеместность приложений во всех линейках продуктов ( ME, SE, EE).
015 ЭКЛАССПАТ ECLASSPATH объединяет среды исполнения CLDC, CDC, Foundation, SE и EE с набором из около 300 классов API. Компиляция с использованием CLDC1.1 / ECLASSPATH делает двоичный код переносимым во все среды выполнения Java.

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

Рекомендации

Примечания

Библиография

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

Последняя правка сделана 2023-03-21 12:43:35
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте