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

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

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

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

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

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

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

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

Содержание

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

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

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

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

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

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

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, использующее новые типы безопасности и сетевые типы и API-интерфейсы MIDP 2.0, а также другие API-интерфейсы. такие как PushRegistryи platformRequest (), но опять же, он не включает интерфейсы API пользовательского интерфейса или игровой API.

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

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

Базовый профиль

Базовый профиль - это профиль конфигурации подключенного устройства Java ME (CDC). Этот профиль предназначен для использования на устройствах, которым требуется полная реализация виртуальной машины Java, включая всю платформу Java Platform, 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, известной под кодовым названием. "Капитан Америка". Сторонние реализации широко используются поставщиками Windows Mobile.

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

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

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

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

Foundation

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, для устройств Internet of Everything

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

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

Future

JSR #ИмяОписание
297 Mobile 3D Graphics API (M3G) 2.0

ESR

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

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

См. Также

  • icon Портал компьютерного программирования

Ссылки

Примечания

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

Внешние ссылки

В Викиучебниках есть книга по темам: Программирование J2ME
Последняя правка сделана 2021-05-24 03:57:21
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте