Java 2 Micro Edition Платформа Java 2 Micro Edition Жерздев С.В.

advertisement
Лаборатория информационных технологий (ИТЛаб)
При поддержке фирмы Intel
Проект ТЭЛМА
Жерздев С.В.
Java 2 Micro Edition
Платформа Java 2 Micro Edition
1
(с) ИТЛаб, ННГУ, ВМК, 2003г
Java 2 Micro Edition
Жерздев С.В.
Архитектура J2ME
• J2ME использует так называемые конфигурации и
профили для уточнения исполняющего окружения
Java Runtime Environment (JRE).
• Конфигурация J2ME определяет основу
исполняющего окружения:
–
–
набор основных классов;
конкретную виртуальную машину Java, которая
работает на устройствах заданного типа.
• Профиль определяет область применения
приложения, а именно - добавляет к виртуальной
машине дополнительные, специфические для
данной области применения классы;
2
(с) ИТЛаб, ННГУ, ВМК, 2003г
Java 2 Micro Edition
Жерздев С.В.
Конфигурации и профили
• Тогда как виртуальная машина Java Standart Edition обычно
обозначается как JVM, виртуальные машины J2ME - KVM
и CVM, которые являются специфическим для J2ME
подмножествами JVM.
J2ME app.
MIDlet
3
J2ME app.
Spotlet
J2ME
application
J2EE
application
J2SE
J2EE
JVM
JVM
Foundation
profile
MIDP
CLDC
KJava
CLDC
CLDC
CLDC
CDC
KVM
KVM
CVM
(с) ИТЛаб, ННГУ, ВМК, 2003г
J2SE
application
Java 2 Micro Edition
Жерздев С.В.
Конфигурации
• В настоящее время существует две конфигурации
J2ME, хотя в будущем могут быть определены и
дополнительные.
4
(с) ИТЛаб, ННГУ, ВМК, 2003г
Java 2 Micro Edition
Жерздев С.В.
CLDC
• Connected Limited Device Configuration
используется обычно в рамках виртуальной
машины KVM для 16- и 32-разрядных устройств с
ограниченным объемом памяти. Эта
конфигурация и виртуальная машина
используются для небольших J2ME приложений.
Эти ограничения делают CLDC более интересной
средой для разработки приложений, чем CDC.
5
(с) ИТЛаб, ННГУ, ВМК, 2003г
Java 2 Micro Edition
Жерздев С.В.
CLDC
• Приложения для CLDC, ориентированы на
устройства со следующими характеристиками:
–
–
–
–
6
от 160 до 512 Кб ОЗУ, доступных для платформы Java в
целом (включая приложения)
ограниченное энергообеспечение, как правило, батареи
или аккумуляторы
сетевое соединение непостоянно и имеет
ограниченную полосу пропускания, часто
применяются беспроводные технологии
интерфейс пользователя различного уровня, иногда
может отсутствовать полностью
(с) ИТЛаб, ННГУ, ВМК, 2003г
Java 2 Micro Edition
Жерздев С.В.
CDC
• Connected Device Configuration (CDC)
используется с виртуальной машиной CVM на
устройствах с 32-разрядной архитектурой и
требует более 2 Мб памяти:
–
–
–
–
–
7
32-разрядный процессор
не менее 2 Мб ОЗУ, доступной платформе Java
устройство должно обеспечивать полную
функциональность виртуальной машины Java 2
сетевое соединение непостоянно и имеет
ограниченную полосу пропускания, часто
применяются беспроводные технологии
интерфейс пользователя различного уровня, иногда
может отсутствовать полностью
(с) ИТЛаб, ННГУ, ВМК, 2003г
Java 2 Micro Edition
Жерздев С.В.
Профили
• Профиль определяет тип устройств,
поддерживаемых приложением. Профиль
дополняет конфигурацию специфическими
классами, определяющими область применения
устройств.
• В J2ME определено два профиля, построенных на
основе CLDC:
–
–
Kjava
Mobile Information Device Profile (MIDP).
• Для CDC доступен шаблонный профиль, на
котором можно строить свои собственные,
Foundation Profile.
8
(с) ИТЛаб, ННГУ, ВМК, 2003г
Java 2 Micro Edition
Жерздев С.В.
Реализация J2ME
• CDC является расширенным подмножеством J2SE
(добавляет некоторые классы, отражающие специфичные
для портативных устройств возможности и особенности).
Конфигурация CLDC является строгим подмножеством
CDC.
9
(с) ИТЛаб, ННГУ, ВМК, 2003г
Java 2 Micro Edition
Жерздев С.В.
Области применения
10
(с) ИТЛаб, ННГУ, ВМК, 2003г
Java 2 Micro Edition
Жерздев С.В.
CLDC
• Конфигурация Connected Limited Device
Configuration (CLDC) предоставляет виртуальную
машину KVM и набор библиотек основных
классов.
• CLDC ориентировано на устройства с
медленными сетевыми соединениями,
ограниченным электропитанием, 128 Кб
энергонезависимой защищенной от записи памяти
и 32 Кб энергозависимой памяти для исполнения
приложений. CLDC использует
энергонезависимую память для хранения
библиотек и KVM.
11
(с) ИТЛаб, ННГУ, ВМК, 2003г
Java 2 Micro Edition
Жерздев С.В.
Требования CLDC
• Полная поддержка языка Java (за исключением
вычислений с плавающей запятой, финализации и
обработки инсключений)
• Полная поддержка спецификации JVM
• Обеспечение безопасности
• Ограниченная поддержка интернационализации
приложений
• Унаследованные классы - все классы, кроме
привнесенных CLDC, должны быть
подмножеством классов J2SE 1.3
12
(с) ИТЛаб, ННГУ, ВМК, 2003г
Java 2 Micro Edition
Жерздев С.В.
Требования CLDC
• Классы, специфичные для CLDC должны
находиться в пакете javax.microedition и его
подпакетах. В дополнение к ним, CLDC API
содержит подмножества пакетов J2SE java.io,
java.lang, java.util.
• Хотя эти классы и присутствуют в J2SE, их
реализация в CLDC не обязательно содержит все
методы, поддерживаемые J2SE. Для уточнения
списка реализованных методов следует
обращаться к документации по CLDC API.
13
(с) ИТЛаб, ННГУ, ВМК, 2003г
Java 2 Micro Edition
Жерздев С.В.
CDC
• Connected Device Configuration (CDC) является
урезанной версией Java 2 Standard Edition (J2SE) с
добавлением собственных классов CDC.
Поскольку CDC является надстройкой над CLDC,
приложения, разработанные для устройств CLDC
будут выполняться и на устройствах CDC.
• CDC обеспечивает средства построения
стандартизированной, переносимой,
полнофункциональной виртуальной машины Java
2 (CVM) для бытовой техники и встроенных
устройств.
14
(с) ИТЛаб, ННГУ, ВМК, 2003г
Java 2 Micro Edition
Жерздев С.В.
Профиль KJava
• Профиль KJava является патентованной
разработкой фирмы Sun. Этот профиль построен в
рамках конфигурации CLDC. Виртуальная
машина KVM использует формат файлов и коды
операций, аналогичные классической виртуальной
машине J2SE.
• KJava содержит специализированное API для
работы на системах Palm OS. KJava API имеет
много общего с распространенной библиотекой
J2SE Abstract Windowing Toolkit (AWT).
15
(с) ИТЛаб, ННГУ, ВМК, 2003г
Java 2 Micro Edition
Жерздев С.В.
Профиль MIDP
• Mobile Information Device Profile (MIDP), как и
KJava, построен на базе CLDC и обеспечивает
стандартное окружение и динамическую передачу
приложений на пользовательские устройства.
• MIDP - общеиндустриальный стандартный
профиль для мобильных устройств, который не
зависит от разработчика и производителя
устройства. Это полноценная основа для
разработки мобильных приложений.
16
(с) ИТЛаб, ННГУ, ВМК, 2003г
Java 2 Micro Edition
Жерздев С.В.
Профиль MIDP
• MIDP состоит из пакетов, три из которых
принадлежат CLDC, а три определены в самом
MIDP.
–
–
–
–
–
–
–
java.lang
java.io
java.util
javax.microedition.io
javax.microedition.lcdui
javax.microedition.midlet
javax.microedition.rms
• MIDP включает API пользовательского
интерфейса как низкого, так и высокого уровней.
17
(с) ИТЛаб, ННГУ, ВМК, 2003г
Java 2 Micro Edition
Жерздев С.В.
Профиль MIDP
• API низкого уровня обеспечивает полный доступ к
экрану устройства, а также к аппаратным кнопкам
и другим средствам ввода. API низкого уровня не
содержит элементов интерфейса пользователя.
• API высокого уровня обеспечивает простые
компоненты интерфейса пользователя, но не
позволяет осуществлять прямой доступ к
устройствам ввода-вывода. Компоненты
интервейса независимы от размеров экрана и
средств ввода конкретного устройства.
18
(с) ИТЛаб, ННГУ, ВМК, 2003г
Java 2 Micro Edition
Жерздев С.В.
MIDP для PalmOS
• MIDP for Palm OS - конкретная реализация
спецификации Mobile Information Device Profile
(JSR-37) JCP Specification: Java 2™ Platform, Micro
Edition, 1.0a. В этой реализации есть несколько
особенностей, не определенных в спецификации
однозначно.
19
(с) ИТЛаб, ННГУ, ВМК, 2003г
Java 2 Micro Edition
Жерздев С.В.
Abstract Commands
• Технология Abstract commands позволяет
разработчику определить операции приложения и
разместить их на экране, не определяя явным
образом интерфейс пользователя для этих команд.
MIDP обеспечивает реализацию доступа к этим
командам в зависимости от конкретного
устройства.
• MIDP for Palm OS отображает все абстрактные
команды в меню, доступном пользователю по
нажатию кнопки Menu на устройстве.
20
(с) ИТЛаб, ННГУ, ВМК, 2003г
Java 2 Micro Edition
Жерздев С.В.
Пользовательский интерфейс
• MIDP for Palm OS реализует компоненты
пользовательского интерфейса используя
аналогичные компоненты окружения Palm OS.
21
(с) ИТЛаб, ННГУ, ВМК, 2003г
Java 2 Micro Edition
Жерздев С.В.
Поддержка цвета
• Поскольку не все устройства поддерживают 24битную цветовую модель, MIDP for Palm OS
реализует отображение цветов в зависимости от
устройства Palm OS в одну из моделей:
–
–
–
–
22
черно-белая;
4 или 16 оттенков серого;
256 цветов (палитрой);
65536 цветов (по схеме 5-6-5).
(с) ИТЛаб, ННГУ, ВМК, 2003г
Java 2 Micro Edition
Жерздев С.В.
Download