Разработка Java-приложений для сотовых телефонов
Общие положения
Материалы сайта JavaTips
1. Структура J2ME для сотовых телефонов
2. Устройства, поддерживающие J2ME
Вся информация, приведенная здесь, а так же программное обеспечение доступны на сайте компанииSun http://wireless.java.sun.com/
© xDimas 2003 mailto:javatips@narod.ru
Для расширения возможностей различной техники компания Sun разработала совместно с другими фирмами стандарт J2ME (Java 2 Micro Edition), который определяет приемы и стандарты создания Java – приложений для различных устройств. Эти приложения получили название «мидлеты» (MIDlets).
В ходе работы этой группы были разработаны спецификации основных компонентов J2ME. Целью J2ME является уменьшение требований приложений и виртуальной машины к ресурсам. Среда для выполнения мидлета разбита на несколько уровней:
Профиль |
Конфигурация |
Виртуальная машина Java |
OS устройства |
Конфигурации и профили определяют набор доступных программисту библиотек, типов данных и т.п. Конфигурация определяет базовые ограничения для инструментария разработчика, а профиль обычно расширяет функции конфигурации.
Для таких устройств, как телефоны, двусторонние пейджеры и т.п. сейчас чаще всего применяется виртуальная машина K (KVM, K от “kilo”), конфигурация CLDC (Connected, Limited Device Configuration) и профиль MIDP (Mobile Information Device Profile).
То есть структура среды выполнения приложения выглядит для разработчиков ПО таких устройств следующим образом:
MIDP |
CLDC |
KVM |
OS устройства |
Виртуальная машина KVM разработана так, чтобы быть как можно более компактной и быстрой при работе с ограниченными ресурсами. Для работы KVM требуется 40-80 кБ памяти.
Для создания CLDC в рамках проекта Java Community Process была создана экспертная группа JSR-30, состоящая из представителей ведущих фирм в области разработки беспроводных устройств (Wireless). Список участников JSR-30 представлен ниже:
- America Online
- Bull
- Ericsson
- Fujitsu
- Matsushita
- Mitsubishi
- Motorola
- Nokia
- NTT DoCoMo
- Oracle
- Palm Computing
- RIM
- Samsung
- Sharp
- Siemens
- Sony
- Sun Microsystems
- Symbian
CLDC разработана для устройств, удовлетворяющих следующим требованиям:
- 160-520кБ памяти, доступной для платформы Java
- 16- или 32-битный процессор
- требовательность к энергоресурсам
- работа в сетях передачи данных с малыми скоростями (обычно 9600бод и ниже)
CLDC представляет из себя переработанный набор стандартных библиотек Java, из которых исключены те возможности, которые не нужны в устройствах, поддерживающих J2ME, либо не удовлетворяют требованиям, предъявляемым к CLDC. Так по сравнению с J2SE (Java 2 Standard Edition) в CLDC приняты следующие ограничения:
- отсутствие поддержки операций с плавающей точкой
- отсутствие поддержки JNI
- отсутствие определяемых пользователем загрузчиков классов
- отсутствие отражений (Reflections) и поддержки связанных с механизмом отражений технологий
- отсутствие групп потоков (Thread Groups)
- отсутствие финализации (Finalization)
- отсутствие weak references.
Над спецификацией MIDP работает специальная группа экспертов MIDPEG (MIDP Expert Group), которая включает в себя следующих участников:
- America Online
- DDI
- Ericsson
- Espial Group, Inc.
- Fujitsu
- Hitachi
- J-Phone
- Matsushita
- Mitsubishi
- Motorola, Inc.
- NEC
- Nokia
- NTT DoCoMo
- Palm
- Research In Motion
- Samsung
- Sharp
- Siemens
- Sony
- Sun Microsystems, Inc.
- Symbian
- Telcordia Technologies
MIDP предъявляет следующие требования к оборудованию:
- дисплей: размер 96x54 (или больший), глубина цвета 1бит (или выше), длина:ширина пикселя 1:1
- средства ввода: клавиатура для одной или двух рук или сенсорный дисплей (Touch Screen)
- память: 128 кБ для компонентов MIDP, 8 кБ для постоянной и 32 кБ выделяемой памяти, используемой приложением
- сетевые возможности: низкопропускная, двусторонняя, беспроводная сеть.
MIDP определяет жизненный цикл мидлета и набор доступных программисту средств.
Список устройств, поддерживающих J2ME очень велик, и он постоянно растет. Легче всего обратиться к сайтам разработчиков телефонов, чтобы проверить, поддерживает ли J2ME та или иная модель.
Кроме того, можно посетить http://wireless.java.sun.com/device/.
Для создания приложений J2MESun предоставляет средство разработки Java 2 ME Wireless Toolkit, свободное для скачивания с сайта фирмы. Это средство может быть интегрировано со средой разработки Forte for Java Community Edition, так же предоставляемой Sun бесплатно.
Это средство включает в себя все необходимое – компилятор, документацию, эмуляторы телефонов и т.п.
На данный момент поддержка Forte Community Edition приостановлена. Рекомендуется использовать Forte Studio 1 Mobile Edition Update 1 либо NetBeans последней версии.
Кроме того, существуют средства разработки других фирм, а так же средства, разработанные по технологии opensource.
Для разработки приложений под конкретные устройства необходимо будет скачать и установить эмулятор этого устройства с сопутствующей документацией.