Связанные статьи:
Компактная версия платформы Java (Java ME) представляет собой надежную и настраиваемую среду для приложений, работающих на мобильных и встраиваемых устройствах: мобильных телефонах, цифровых приемниках, проигрывателях дисков Blu-ray, цифровых устройствах хранения данных, модулях M2M, принтерах и других устройствах.
Технология Java ME изначально разрабатывалась для преодоления ограничений, связанных с созданием приложений для компактных устройств. С этой целью компания Oracle разработала технологию Java ME, которая способна соответствовать подобным техническим ограничениям и позволяет создавать Java- приложения, работающие на компактных устройствах с ограниченным объемом памяти, диагональю экрана и зарядом аккумулятора.
Конфигурации и профили Java ME
Java ME построена как блочная структура, где составляющие можно поделить на конфигурации и на профили. У каждой конфигурации есть свой профиль, как это показано на рисункеЕсли рассматривать Java ME в общем среде Java, то к Java ME относится отдельный класс устройств, которые ограничены ресурсами и производительностью в отличии от Java EE и Java SE приложений, которые расcчитаны на высокопроизводительные сервера и персональные компьютеры. Сам класс Java ME делится еще на 2 подкласса конфигурации устройств, как показано на рисунке
CDC(Connected Device Communication) — конфигурация устройст с соединением в сеть. Это класс устройств, которые характеризуются следующими свойствами:
- имеют процессор, имеющий 32 — битную архитектуру;
- имеют тактовую частоту не ниже 75 MHz;
- имеют оперативную память в пределах 4 — 32 Мб.
К этим устройствам можно отнести телевизоры, приставки, спутниковые антенны, автомобльные встраиваемые устройства и т.д.
CLDC(Connected Limited Device Communication) — конфигурация устройств с соединением в сеть с ограниченными ресурсам. Это класс устройств, которые характеризуются следующими свойствами:
- имеют процессор, имеющий 16 — 32 — битную архитектуру;
- имеют тактовую частоту не ниже 16 MHz;
- имеют оперативную память в пределах 256 Кб — 4 Мб.
К данной конфигурации устройств можно отнести различного рода телефоны, коммуникаторы, цифровые приемники и т.д.
Смысл конфигураций заключается в присутствии или отсутствии в API Java для данного устройства определенных классов и предъявляет определенные требования к Java -машине, поэтому приложения CDC выполняются на JVM(Java Vitual Mashine) по аналогии с Java EE и Java SE, а CLDC приложения запускаются на специфичной Java — машине — KVM(Kilobyte Virtual Mashine), который предназначен для процессоров с ограниченными возможностями. К примеру, в конфигурации CLDC определенные классы, которые присутствуют в CDC и в общем наборе Java SE/EE, но в силу ограниченности ресурсов железа их количество и свойства урезаны. CDC содержит почти все классы, что и в CLDC.
С конфигурацией мы закончили. Теперь рассмотрим профили конфигураций. Профили — это набор требований к ресурсной базе внутри конфигурации, таким обрзом, CDC имеет свои профили, а CLDC имеет свои. Мы не будем расматривать специфичные особенности профилей CDC, так как нас интересует мобильная разработка, а это профили CLDC, коих рассмотрим поподробнее.
Профили CDC:
- Foundation profile;
- Personal profile.
Профили CLDC:
- IMP-NG — Information Module Profile — Next Generation
- MIDP — Mobile Informaton Device Profile.
Версии Java ME
Данные профили актуальны для версии Java ME SDK 3.4, на данный момент существует Java Me SDK 8.1, в котором есть дополнительные профили, а сами профили MIDP и IMP-NG утратили свои былые названия.
Мы не будем рассматривать версию Java ME SDK 8 и рассмотрим профиль MIDP в CLDC версии Java SDK 3.4.
MIDP(Mobile Informaton Device Profile) — профиль мобильных информационных устройств. Имеет свои версии — 2.0 и 2.1. Каждая версия различается наличием или отсутствием в устройстве определенных функциональных возможностей и предъявляет определенные требования к аппаратным возможностям устройства, но не к API Java. В разработке MIDP, в свое время, принимали участие многие производители мобильных устройств, когда был пик телефонов с Java ME, но развивается и по сей день, а в JDK 8.1 мобильная разработка направлена только для встроенных применений, и так, нет реализации MIDP профиля (нет пакета LCDUI). Тем не менее, JDK 8.1 обеспечивает реализацию профиля MEEP, который является дальнейшим развитием IMP-NG/MIDP.
Еще надо учитывать, что конфигурации могут иметь версии. В Java ME SDK 3.4 самая новая реализация CLDC имеет версию 1.1, а MIDP — 2.1, был еще профиль MIDP 3.0, который не получил дальнейщее развитие в Java ME SDK 3.4, в силу того, что в Java ME SDK 8 профиль MIDP был реструктуризирован.
На этом закончим данный пост и в продолжении займемся практической частью реализации примера.