| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
Статьи:: Интернет технологии :: Java2ME :: Думайте о малом с J2ME. Платформа Java предлагает новые возможности для малых сетевых устройств
Думайте о малом с J2ME. Платформа Java предлагает новые возможности для малых сетевых устройств
Soma
Ghost (sghost@entigo.com) СодержаниеРазвитие Java VM: От настольных компьютеров до
микроустройств Java 2 Platform, Micro Edition (J2ME) предлагает прекрасные средства для разработчиков, переносящих сетевое и платформно-независимое мировоззрение на ограниченные по памяти и мощности процессора устройства. Soma Ghost объясняет основы мира J2ME, показывая вам строительные блоки платформы и демонстрируя пример приложения. Персональные и интеллектуальные устройства сегодня стали необходимостью нашей жизни. Эти устройства, среди которых сотовые телефоны, двунаправленные пейджеры, смарт-карты, персональные компьютерные записные книжки и палмтопы, имеют тенденцию быть специализированными, ограниченными по ресурсам сетевыми устройствами, а не теми настольными компьютерами универсального назначения, которые мы знали до настоящего времени. Специально для этого огромного потребительского сектора Java 2 Platform, Micro Edition (J2ME) предоставляет изобилие передовых технологий Java. Развитие Java VM: От настольных компьютеров до микроустройствМикроустройства, для которых предназначена J2ME, имеют 16-ти или 32-х разрядные микропроцессоры с минимальным полным объемом памяти равным примерно 128 Кб. Они соответствуют конфигурации Connected Limited Device Configuration (CLDC), сохраняя такие традиции Java, как переносимость кода в любое время и в любое место, гибкость размещения, безопасную работу в сети и устойчивость кода. Необходимой составляющей J2ME CDLC является облегченная JVM, называемая K Virtual Machine (KVM). KVM разработана для ограниченных по ресурсам сетевых устройств, имеющих небольшую память. Другая конфигурация J2ME - Connected Device Configuration (CDC) предназначена для развитых потребительских электронных и встраиваемых устройств, таких как интеллектуальные коммуникаторы, современные "интеллектуальные" пейджеры, персональные цифровые помощники (PDA) и интерактивные цифровые телевизионные приставки. Обычно эти устройства работают на 32-х разрядном микропроцессоре/микроконтроллере и имеют более 2 Мб общей памяти для хранения виртуальной машины и библиотек. CDC содержит C Virtual Machine (CVM). В этой статье мы рассмотрим архитектуры CLDC и KVM. Дополнительная информация о CDC и CVM находится в разделе Ресурсы, расположенном ниже. KVM адаптирован под особенности небольших устройств следующим образом: Размеры VM и библиотек классов уменьшены до объема в 50-80 Кб объектного кода
Архитектура и конфигурация J2MEАрхитектура J2ME основана на семействах и категориях устройств. Категория определяет конкретный тип устройства; сотовые телефоны, простые пейджеры и персональные организаторы являются разными категориями. Семейство устройств образуется группой категорий, имеющих сходные требования к объему памяти а мощности процессора. Все вместе сотовые телефоны, простые пейджеры и простые персональные организаторы образуют одно семейство малых отображающих устройств. На рисунке 1 показана взаимосвязь между семействами и категориями устройств в контексте J2ME. Рисунок 1. Семейства и категории устройств
Для того, чтобы поддержать гибкость и настраиваемость размещения, требуемые семейством ограниченных по ресурсам устройств, архитектура J2ME спроектирована модульной и масштабируемой. Эта модульность и масштабируемость определяется технологией J2ME в завершенной прикладной модели времени исполнения, имеющей четыре программных уровня, строящихся над операционной системой устройства. На рисунке 2 показана архитектура J2ME. Рисунок 2. Архитектура J2ME
Уровни Java Virtual Machine, конфигурации и профиля вместе образуют Connected Limited Device Configuration (CDLC). Профиль MID и CDLC обеспечивают стандартную среду времени исполнения, позволяющую новым приложениям и службам динамически размещаться на пользовательских устройствах. Программирование J2ME при помощи MIDP API: Строительные блокиКомбинация CLDC и MIDP обеспечивает законченную среду для создания приложений для сотовых телефонов и простых двунаправленных пейджеров. Ядром MIDP является мидлет-приложение. Это приложение расширяет класс MIDlet таким образом, чтобы управляющее приложением программное обеспечение могло управлять мидлетом, извлекать свойства из описателя размещения, информировать об изменениях состояния и вызывать их. Все мидлеты расширяют класс MIDlet - интерфейс между средой времени исполнения (менеджер приложений) и кодом мидлет-приложения. Класс MIDlet обеспечивает API для запуска, остановки, перезапуска и завершения мидлет-приложения. Управляющее приложением программное обеспечение может управлять активностью нескольких мидлетов в среде времени исполнения. Кроме того, мидлет может сам вызывать некоторые изменения состояния и информировать управляющее приложением программное обеспечение об этих изменениях. Полный набор классов MIDP API может быть разделен на две категории:
CLDC API используется для управления строками, объектами и целыми числами. Также предоставляется подмножество Java 2 API для выполнения операций ввода/вывода и сетевых коммуникаций. На рисунке 3 показаны строительные блоки J2ME. Рисунок 3. Строительные блоки J2ME
Взаимосвязь между Java API Standard Edition и Java API Micro Edition показана на рисунке 4. Рисунок 4. Взаимосвязь между J2ME API и J2SE API
Обработка событий в J2MEОбработка событий в J2ME в отличие от обработки событий в версии платформы Java для настольных компьютеров основывается на последовательности экранов. Каждый экран содержит определенное количество данных. Команды предоставляются пользователю поэкранно. Объект Command инкапсулирует название и информацию, относящуюся к семантике действия. Объект Command используется главным образом для предоставления пользователю набора возможных действий. Дальнейшее поведение определяется в объекте CommandListener, связанном с экраном. Каждый объект Command содержит три порции информации: метку, тип и приоритет. Метка используется для визуального представления команды; тип и приоритет используются системой для определения того, как объект Command отображается на конкретный пользовательский интерфейс. На рисунке 5 показан механизм обработки событий в J2ME. Рисунок 5. Обработка событий в J2ME
Разработка пользовательских интерфейсовХотя MIDP API поддерживает ограниченный профиль, он предоставляет полный набор элементов пользовательского интерфейса. Ниже перечислены основные из них:
Полный список элементов пользовательского интерфейса доступен в документации по MIDP API, которая прилагается к J2ME Wireless Toolkit (для дополнительной информации см. раздел Ресурсы, расположенный ниже). Управление базой данных устройстваMIDP предоставляет набор классов и интерфейсов для организации и управления базой данных устройства: RecordStore, RecordComparator и RecordFilter. RecordStore состоит из набора записей, остающихся персистентными между различными вызовами мидлета. Сравнение записей в RecordStore или извлечение набора записей из RecordStore обеспечивается интерфейсами RecordComparator и RecordFilter. Разработка J2ME-приложенийВ предыдущих разделах был дан обзор J2ME. В этом разделе мы познакомимся с практическими деталями платформы, разработав реальное приложение - интерфейс телефона. Пример приложения: Телефонный календарьОдной из замечательных возможностей в J2ME является возможность манипулирования датой в ограниченной по ресурсам среде. Элемент пользовательского интерфейса DateField, предлагаемый J2ME, представляет собой редактируемый компонент для представления календарной информации (то есть, даты и времени). В этом разделе мы разработаем J2ME-приложение, отображающее прокручиваемый календарь на сотовом телефоне, используя функции DateField и Date. Приложение - телефонный календарь
Мидлет PhoneCalendar, определенный выше, расширяет ItemListener и CommandListener. Это дает возможность мидлету проследить изменение элемента на экране и среагировать на команду пользователя. Пользовательский интерфейс начинается с определения экрана телефона и присоединения к нему объекта Form. Form выступает как контейнер и может содержать много элементов пользовательского интерфейса. Функция commandAction() работает как обработчик команд в J2ME и определяет действия, которые необходимо выполнить для конкретной команды. Размещение J2MEВы можете загрузить эмулятор от Sun, позволяющий вам протестировать J2ME-приложения на настольном компьютере. Если вы избегаете этих графических излишеств, то вы можете разместить J2ME из командной строки. Размещение в среде эмулятораРазмещение и выполнение J2ME-приложения в среде эмулятора включает этапы установки и конфигурирования эмулятора. J2ME Wireless Toolkit предоставляет среду эмулятора для разработки и размещения Java-приложений в ограниченные по ресурсам устройства. Вот последовательность необходимых действий:
Набор программ также позволяет предоставляет возможность спакетировать проект в jar-файл и jad-файл. Двойной щелчок на jad-файле разместит приложение, указанное в jar-файле. Размещение из командной строкиДоступно также большое количество ключей командной строки.
ЗаключениеJ2ME является значительным шагом вперед в беспроводной технологии по сравнению с существующими программными моделями в направлении к переносимой, предназначенной для сети виртуальной машины Java. Гибкость при разработке и размещении J2ME-приложений эффективно ответит на увеличивающиеся требования в беспроводном мире. Оставайтесь на связи! Ресурсы
Некоторая документация от Sun:
Об автореСпециалист по компьютерам Soma Ghosh за последние шесть лет разработала широкий спектр Java-приложений в области электронной коммерции и сетевых вычислений. Она считает, что ближайшим будущим данной отрасли является беспроводная коммерция, и недавно перешла от моделей настольных компьютеров к беспроводным технологиям. Она в настоящее время является старшим разработчиком приложений в Entigo - пионере в B2B-продуктах и решениях в области электронной коммерции. Адрес для контактов: sghost@entigo.com. Рубрика: Java2ME
Подгрузка через AJAX HTML-кода, содержащег....
При разработке CMS S.Builder наша команда активно использовала AJAX. Теперь вот решили поделиться накопленным опытом. Начнем с этого хабратопика. Не буду здесь затрагивать различные фреймворки и библиотеки. Свой код всегда роднее. Для работы с AJAX-ом в S.Builder написана библиотека sbAJAX. Можете качать и пользоваться :). В этом файле есть функция sbEvalJS. Для тех, кто не знает, объясню. При подгрузке через AJAX и вставке на страницу HTML-кода, содержащего JavaScript, JavaScript выполняться не будет или полезут баги. Эта функция как раз решает поставленную задачу.
Подробнее... |
Рубрика: AJAX
| Добавлено: 19.11.2008
Обзор нового релиза самой мощной Ajax библ....
Хотя наш обзор немного запоздал, оригинальный Dojo 1.2 вышел в релизной версии ещё 6-го октября, но сейчас мы наверстаем упущенное. И так, Dojo Toolkit — это самая мощная и гибкая ajax-библиотека из всех, что есть на рынке, она активно развивается и имеет большое комьюнити. Кстати, это самое комьюнити, совместно с компанией Sitepen, имеет ещё несколько проектов, среди которых и Cometd и некоторые другие, не менее интересные, о которых мы скоро вам расскажем. Сегодня же все внимание на флагманский продукт — Dojo 1.2.
Подробнее... |
Рубрика: AJAX
| Добавлено: 19.11.2008
Firebug 1.3 и 1.4 alpha — что нового и инт....
Если вы профессиональный веб-разработчик и постоянно имеете дело с разработкой и отладкой сложных AJAX приложений, то наверняка знаете и используете Firebug — плагин для браузера Firefox, предназначенный для отладки и исследования веб-приложений. Текущая его версия, 1.2х достаточно стабильная и функциональна, чтобы помочь в 99% проблем, которые могут возникнуть при разработке. Но и этот инструмент не лишён если не недостатков, то некоторых фич, которые могли бы облегчить работу. И даже идеальный инструмент можно сделать ещё более идеальным, как бы это не звучало.
Подробнее... |
Рубрика: Вебмастеру
| Добавлено: 19.11.2008
Остальные статьи: |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|