Статьи: Базовые профили J2ME
Базовые профили J2ME
Данная статья - краткий обзор распространенных "связок" базовых профилей Java 2 ME. Базовые профили определяют основную функциональность устройств.
Существуют следующие "связки":
CLDC+MIDP - Самая распространенная связка профилей.
Характеристика телефона: поддержка J2ME именно говорит именно о
поддержке CLDC+MIDP. На данный момент количество устройств с
поддержкой данного профиля J2ME несколько сотен миллионов.
CLDC+IMP - Поддерживается GSM-терминалами (их также
называют GSM модулями и GPRS модемами). Эти устройства используются для
построения M2M GSM систем.
CLDC+DoJa - Профиль придуманный NTT DoCoMo (самый
крупный в Японии оператор сотовой связи) для создания ПО для i-mode -
I-Aply. Официально не признан JCP, но несмотря на это телефонов с
поддержкой I-Aply больше 50 милионов.
CDC - Профиль используемый в мобильных устройствах, по
характеристикам превосходящим мобильные телефоны. К сожалению, MRC
Altalabs не вела разработку на этом профиле. И судить об этом
профиле мы ничего не можем.
CLDC отвечает за:
Математику. Программы могут выполнять простые операции с целыми
числами. И генерировать псевдослучайные цифры. За счет довольно больших
трудовых затрат, жертвования скорости и размерами программы
разработчики могут добавлять сложные математические функции и
производить операции с числами с "плавающей точкой"
Работу с сетью. Некоторые устройства могут поддерживать http, UDP, TCP и даже работу с Com и инфракрасными портами
Массивы. К примеру, можно создать массив целых чисел, игровых
объектов и элементов меню. Кроме массивов есть еще и вектора (аналогия с
геометрией здесь не уместна) и стэки. Это массивы длину, которых очень
легко увеличить, но расплачиваться приходиться скоростью работы
приложений
Работа со строками. Строки необходимы для ввода-вывода
информации. Строки могут быть и формата UniCode, который позволяет вывод
информации на разных языках, в том числе и русском.
Получение программой системной информации. Программа может узнать модель
телефона, системное время. Программа может также узнать возможность
поддержки опциональных пакетов, но об этом ниже.
MIDP отвечает за:
Графический интерфейс позволяет организовывать меню, выводить на экран
сообщения. А также позволяет пользователю вводит текстовую информацию. Таймеры.
Канву. Есть возможности выводить эллипсы, линии, картинки. Это позволяет создавать графическую часть игры.
Эту связку СLDC 1.0 и MIDP 1.0 поддерживают мобильные телефоны сертифицированные, как Java2 ME:
Motorola: A388, A388c, E380, T280i, T720, V60i, V66i.
Nokia: 3100, 3108, 3200, 3120, 3300, 3410, 3510i, 3590, 3600,
3650, 5100, 5140, 6010, 6100, 6200, 6220, 6230, 6310i, 6585, 6600, 6610,
6620, 6650, 6800, 6800, 6810, 6820, 7200, 7210, 7250, 7250i, 7600,
7600, 7610, 7650, 7700, 8910i, 9210, Communicator 9210i, Communicator
9290, Communicator 9500, Nokia N-Gage Game Deck, 3120, 7610.
Siemens: C(T)56, C55, C61, CF62, M46, M50, S55, SL42, SL45i/6688i, SL55, SX1 и вся 65ая серия.
Sony Ericsson: F500, K500, K700, P800, P900, P910, S700, T616, T628, T630, Z1010, Z500, Z600.
MIDP 2.0
Наиболее значительное изменение - добавилось несколько новых классов для реализации 2D движка.
2D движок позволяет работать со спрайтами, слоями и использовать двойную
буферизацию. Спрайты - это анимированные картинки. Вы их часто можете
наблюдать в 2D компьютерных играх.
Несколько облегчилась работа программиста при создании меню, добавилось
пару незначительных видоизменений графического интерфейса.
Почти на всех MIDP 2.0 телефонах есть поддержка Push-регистра. В него
заносятся порты, зарезервированные под приложения и при передачи
информации на них запускается соответствующий мидлет.
Расширены возможности сетевых соединений - добавлен защищенный протокол
связи HTTPS. Теперь почти на всех телефонах есть целый ряд соединений:
TCP, UDP и HTTP.
Иметься довольно многофункциональная работа со звуком: вывод мелодий,
звуков и произвольных тонов (нот). Также можно прослушивать звуки с
вебсервера. Есть довольно широкие возможности настройки генератора
мелодий, управление громкостью.
Эту связку поддерживают все мобильные телефоны сертифицированные, как Java2 ME MIDP 2.0:
Nokia: 5140, 5140, 6230, 6585, 6620, 7610, 7700, 9500.
Sony Ericsson: F500i, F500i, K500c, K500i, K506c, K508c, K508i, K700c,
K700i, P910a, P910c, P910i, S700c, S700i, S710a, Z1010, Z500a,
Z500i.
Siemens: Вся 65ая серия кроме А65.
IMP
По функциональности IMP напоминает MIDP. IMP превосходит по
функциональности MIDP связанной с сетью и не поддерживает поточечный
экран (его в IMP устройствах нет). Также с помощью профиля можно
работать со входами-выходами устройства GPIO, I2P и COM портом. Главное
преимущество профиля IMP перед MIDP - поддержка AT команд. В IMP
устройствах возможно присоединение построчного экрана через I2P и
клавиатуры.
Удобно сравнивать IMP c MIDP. IMP 1.0 это аналог MIDP 1.0, а IMP
NG (он же IMP 2.0) аналог MIDP 2.0. В принципе эти два профиля по
архитектуре очень даже похожи. Но цели для которых они созданы различны:
IMP предназначен для телеметрических и телемеханических бизнес
приложений. А MIDP для развлекательных программ и утилит. M2M устройства
не обладают встроенным экраном и профиль. Но зато IMP обладает более
широкими возможностями для коммуникации: настройка соединения с помощью
AT команд, некоторые терминалы могут осуществлять коммуникацию при
помощи USSD.
DoJa (I-Aply или i-mode)
В отличие от MIDP больше "заточен" под сеть. Портировать
приложения с MIDP на DoJa не слишком проблематично, если заранее
предусматривать эту возможность и проектировать приложение таким
образом, чтобы облегчить портирование на I-mode.
DoJa отличается от MIDP большим числом возможностей работы с сетью, но
однопользовательские игры на этом профиле писать намного сложнее, чем на
MIDP 2.0.
В DoJa есть новый тип приложений именуемый "агент". В определенное время
программа сама запускается и связывается с сервером, производит
какие-то действия и засыпает. Например, ночью узнает прогноз погоды на
день и если есть вероятность снегопада ставит будильник на более ранее
время, чтобы хозяин не опоздал на работу.
Одной из заманчивых функций последней версии является 3D звук в играх, но телефон должен быть оснащен двумя динамиками.
DoJa приложение должны не превышать 50 килобайт, а все что выше загружать после установки.
В DoJa не возможности выводить кусок изображения (.setClip()) и нет "архоров" вывода изображения.