Платформа Java издания |
---|
|
|
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).
Связи с ограниченной Конфигурацией устройство (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 # | Имя | Описание |
---|---|---|
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. |