Ограниченная конфигурация подключенного устройства
Конфигурация подключенного ограниченного устройства ( CLDC ) — это спецификация платформы для приложений Java ME , описывающая базовый набор библиотек и функций виртуальной машины, которые должны присутствовать в реализации. CLDC объединяется с одним или несколькими профилями, чтобы предоставить разработчикам платформу для создания приложений на встроенных устройствах с очень ограниченными ресурсами, таких как пейджеры и мобильные телефоны . [1] CLDC был разработан в рамках процесса сообщества Java как JSR 30. [2] (CLDC 1.0) и JSR 139 [3] (CLDC 1.1).
Типичные требования
[ редактировать ]CLDC предназначен для устройств с ограниченной вычислительной мощностью, памятью и графическими возможностями. Устройства обычно имеют следующие функции: [1]
- 16- битный или 32-битный процессор с тактовой частотой 16 МГц или выше.
- Не менее 160 КБ ПЗУ , выделенного для библиотек CLDC и виртуальной машины.
- не менее 8 КБ Общий объем оперативной памяти , доступный платформе Java.
- Низкое энергопотребление, часто работает от аккумулятора.
- Подключение к какой-либо сети, часто с беспроводным, прерывистым соединением и ограниченной пропускной способностью.
Примечательные ограничения
[ редактировать ]По сравнению со средой Java SE некоторые API полностью отсутствуют, а некоторые API изменены таким образом, что код требует явных изменений для поддержки CLDC. В частности, определенные изменения заключаются не просто в отсутствии классов или интерфейсов, а фактически меняют сигнатуры существующих классов в библиотеке базовых классов. Примером этого является отсутствие Serializable
интерфейс, который не отображается в библиотеке базовых классов из-за ограничений на использование отражения. Все java.lang.*
классы, которые обычно реализуют Serializable
поэтому не реализуйте этот интерфейс тегирования .
Другие примеры ограничений зависят от используемой версии, поскольку некоторые функции были повторно представлены в версии 1.1 CLDC. [4]
CLDC 1.0 и 1.1
[ редактировать ]- The
Serializable
интерфейс не поддерживается. - Части возможностей отражения стандартной версии Java:
- The
java.lang.reflect
пакет и любой из его классов не поддерживаются. - Методы на
java.lang.Class
которые получают конструкторы, методы или поля.
- The
- Никакой доработки. CLDC не включает в себя
Object.finalize()
метод. - Ограниченная обработка ошибок. Ошибки, не связанные с выполнением, обрабатываются путем закрытия приложения или перезагрузки устройства.
- Нет пользовательских загрузчиков классов.
- Никаких групп потоков или потоков демонов.
Профили
[ редактировать ]Профиль — это набор API-интерфейсов, которые поддерживают устройства с различными возможностями и ресурсами в рамках CLDC, чтобы обеспечить полную среду приложений Java. Существуют специальные профили для различных устройств, от торговых автоматов до телеприставок, причем профиль мобильного телефона MIDP . наиболее распространенным является [5]
Профиль мобильного информационного устройства
[ редактировать ]Профиль мобильного информационного устройства — это профиль, предназначенный для мобильных телефонов. Доступны две версии MIDP, указанные в JSR 37. [6] [7] (MIDP 1.0) и JSR 118 [8] [9] (МИДП 2.0). Обе версии предоставляют на ЖК-дисплей API-интерфейс графического интерфейса, ориентированный , причем MIDP 2.0 включает базовый API для 2D-игр. Приложения, написанные для использования этого профиля, называются MIDlet . Многие сотовые телефоны оснащены реализацией MIDP, и это популярная платформа для загружаемых игр для мобильных телефонов. [10]
Профиль информационного модуля
[ редактировать ]Профиль информационного модуля указан в JSR 195. [11] и предназначен для торговых автоматов , сетевых карт, маршрутизаторов, телефонных будок и других систем с простым дисплеем или без него, а также с некоторой формой ограниченного двустороннего доступа к сети. Определены только API для создания, хранения и доступа к сети приложений. Это подмножество пакетов javax.microedition.io, rms и Midlet в MIDP. Siemens Mobile и Nokia представили эту спецификацию JCP.
Профиль ДоДжа
[ редактировать ]Профиль DoJa был разработан для мобильного телефона i-mode компанией NTT DoCoMo .
Профиль цифровой телеприставки
[ редактировать ]Профиль цифровой телеприставки , указанный в JSR 242, [12] предназначен для кабельного рынка. Этот профиль, также называемый OnRamp , основан на подмножестве платформы приложений OpenCable ( OCAP ), которая определяет набор API-интерфейсов для разработки приложений для телеприставок и подобных устройств. Профиль состоит из подмножеств личного базового профиля CDC, включая поддержку AWT , Xlet , доступа к файлам и сетевых API, а также нескольких интерфейсов, связанных с мультимедиа, из OCAP. Весь профиль включал 31 пакет Java и около 1500 API. [5]
Дополнительные пакеты
[ редактировать ]Дополнительные пакеты КПК . указаны в JSR-75 [13] и предназначены для КПК, таких как устройства Palm или Windows CE .Спецификация определяет два независимых пакета, которые представляют важные функции, имеющиеся на многих КПК и других мобильных устройствах. Эти пакеты:
- Управление личной информацией (PIM), которое предоставляет устройствам доступ к данным управления личной информацией, содержащимся в адресных книгах, календарях и списках дел.
- FileConnection (FC), который обеспечивает доступ к файловым системам и съемным устройствам хранения данных, таким как внешние карты памяти.
Общие API
[ редактировать ]java.io
- Оптимизированная версия пакета java.io из стандартной редакции для выполнения операций ввода/вывода.
java.lang
- Содержит классы, необходимые для языка Java. Этот пакет содержит стандартные типы Java, такие как целые числа и строки, а также базовые исключения, математические функции, системные функции, функции многопоточности и безопасности.
java.util
- Упрощенная версия
java.util
коллекционная библиотека. Этот пакет содержит классы коллекций, такие как Vector и Hashtable . Он также содержит класс календаря и даты.
См. также
[ редактировать ]- Конфигурация подключенного устройства или CDC , еще одна платформа для создания приложений Java ME.
Ссылки
[ редактировать ]- ^ Jump up to: а б Обзор CLDC http://java.sun.com/javame/technology/cldc/overview.jsp
- ^ JSR 30, CLDC 1.0 http://www.jcp.org/en/jsr/detail?id=30
- ^ JSR 139, CLDC 1.1 http://www.jcp.org/en/jsr/detail?id=139
- ^ API J2ME: Какие API взяты из платформы J2SE? http://developers.sun.com/mobility/midp/articles/api/
- ^ Jump up to: а б Сводка профилей на основе CLDC http://developers.sun.com/mobility/midp/ttips/cldc/
- ^ JSR 37, MIDP 1.0 http://www.jcp.org/en/jsr/detail?id=37
- ^ API MIDP 1.0 http://java.sun.com/javame/reference/apis/jsr037/
- ^ JSR 118, MIDP 2.0 http://www.jcp.org/en/jsr/detail?id=118
- ^ API MIDP 2.0 http://java.sun.com/javame/reference/apis/jsr118/
- ^ Функция мобильных платформ Pocketgamer.co.uk http://www.pocketgamer.co.uk/r/Mobile/feature.asp?c=1266.
- ^ JSR 195, Профиль информационного модуля http://www.jcp.org/en/jsr/detail?id=195
- ^ JSR 242, Профиль цифровой телеприставки http://www.jcp.org/en/jsr/detail?id=242
- ^ JSR 75, Дополнительные пакеты для КПК http://www.jcp.org/en/jsr/detail?id=75