Концепция API MIDP и J2ME построения беспроводных межплатформенных приложений.
Обзор
Производители могут использовать устройства, совместимые с MIDP для разработки приложений, которые могут работать на различных беспроводных платформах, при этом доработка под платформу и настройка минимальны. В этой статье, которая является первой в серии из трех частей, рассматривается концепция API MIDP и платформы J2ME. Будут представлены API, используемые для создания графического, шаблонного, сохраняемого кода, который служит для соединения с внешними ресурсами. (3500 слов)
Беспроводная промышленность поражает очевидцев скоростью развития технологий. Из-за высоких темпов любой новый продукт может устареть в течение нескольких месяцев. Результатом динамичного развития является недостаток стандартизации рабочих платформ в беспроводной среде. Команды разработчиков сталкиваются с необходимостью осваивать многочисленные языки разметки и процессы, чтобы их продукт работал с разными устройствами. Отделу маркетинга постоянно приходится менять направление продвижения на изменяющемся рынке. (далее…)
В этой статье будет дана попытка дать небольшой обзор новой редакции Java – Java 2 Micro Edition (J2ME в дальнейшем). Основное внимание будет уделено профилю J2ME MIDP. Также будет приведен развернутый пример создания мобильного приложения для профиля MIDP. Несмотря на то, что в данное время существует множество различных реализаций конфигураций и профилей J2ME, в данной статье будут рассматриваться только решения Sun.
J2ME
Несмотря на название схожее с J2EE или J2SE вряд ли Вы где-нибудь найдете JDK для J2ME [1] или что-либо подобное. Дело в том, что J2ME объединяет под своим названием множество технологий, каждая из которых решает свою конкретную задачу. А именно, спецификация J2ME определяет так называемые конфигурации (configuration). Каждая конфигурация описывает среду выполнения J2ME приложения (JVM, набор доступных классов, некоторые правила функционирования приложений). Для конфигурации в свою очередь может быть определено несколько профилей (profile), каждый из которых ‘уточняет’ среду выполнения, добавляя или запрещая использование каких-либо классов, определяя новые правила функционирования приложения. Очень точно эту концепцию отражает рис. 1. (далее…)
В этой части статьи разговор пойдет о коммуникационных возможностях конфигурации CLDC вообще и профиля MIDP в частности. Будет дан небольшой обзор GCF и пример ее использования в реальном приложении.
Generic Connection Framework
Как уже было сказано в предыдущей части статьи, основная цель, которую преследует GCF — это создание на программном уровне единой абстракции для любых типов соединений. Диаграмма классов GCF представлена на рис. 1. (далее…)
Данная часть будет не очень большой. В ней речь пойдет об организации долговременного хранения информации в мобильном устройстве с помощью пакета javax.microedition.rms.
Record Management System
Как и все в профиле MIDP система долговременного хранения информации реализована максимально просто. Все хранилище состоит из произвольного колличества RecordStore, которые в свою очередь состоят из произвольного количества записей. Запись является по сути дела массивом байт. Диаграмма основных классов представлена на рис.1. (далее…)
Недавно с удивлением для себя обнаружил, что многие J2ME програмисты не используют properties файлы и вставляют строчки прямо в код. После чего имеют большие затруднения связанные с их редактированием и локализацией. Да стандартный J2MЕ не имеет в своем арсенале класс ResourseBundle, но написать свой класс предоставляющий подобные возможности не представляет большого труда.
Итак, давайте напишем такой класс Resourse. У нашего класса будет один конструктор и 3 public метода.
directory — имя директории в jar файле мидлета, в которой находятся ресурсы. (далее…)
При сталкивании с технологией J2ME у многих сразу же возникает желание послать sms сообщение силами мидлета. И сразу же возникает вопрос: «А как?». В данной статье я попытаюсь ответить на этот вопрос.
Немного истории
После принятого многими производителями на вооружение MIDP 1.0, несмотря на все его достоинства, он изобиловал пробелами. И один из основных недостатков, как раз и заключался в отсутствии какого-либо API для работы с sms сообщениями. В защиту MIDP 1.0 стоит сказать, что его заслуга была в том, что он смог разродится из ничего, и стал основой для будущего. (далее…)
Лучше один раз увидеть, чем сто раз услышать. Это правило точно характеризует эмуляторы Java для сотовых телефонов.
Эмулятор – это программа, которая запускается на обычном компьютере и имитирует работу сотового телефона. Существует много эмуляторов, специализированных и универсальных. Одни, к примеру, позволяют работать только с WAP, другие – только с Java. А третьи эмулируют все функции мобильника – настолько полно, насколько это возможно на персональном компьютере.
Основные пользователи эмуляторов – это сами разработчики, пишущие и тестирующие Java-игры. Ведь исходные коды создаются сначала на компьютере. И очень удобно иметь под рукой средство для быстрого тестирования только что написанной программы.
По идее, пользоваться эмуляторами могут все желающие. Вам нужен пробный запуск? Вы не хотите покупать кота в мешке и желаете понять, что же дает эта самая Java? Оптимальным решением для вас будет установка эмуляторов для этих сервисов на своем компьютере. Тем более, что в отличие от реальных телефонов, многие эмуляторы бесплатны и свободно скачиваются из интернета.
Сегодня мы рассмотрим несколько базовых эмуляторов для запуска J2ME-программ на персональном компьютере. Используя их, вы в полной мере можете оценить работу мобильников с поддержкой этих технологий.
J2Me Wireless Toolkit от Sun
Перед установкой практически любого эмулятора Java для мобильников, требуется установить на своем компьютере исполняемую среду обычной Java от компании Sun – Java 2 Runtime Environment. Этот пакет можно свободно взять со страницы http://java.sun.com/downloads/.
Размер дистрибутива для Windows составляет около 8 мегабайт, что, в принципе, не проблема даже для модемного подключения. Установка Java не является чем-то особенным, мало того – от вас даже не потребуют никаких дополнительных действий, вроде ввода серийного номера или регистрации.
Второй этап – это непосредственно установка самого эмулятора. Начнем с самого базового – от компании Sun. С той же страницы http://java.sun.com/downloads/ скачайте и установите на компьютере специальный пакет J2ME Wireless Toolkit. В его состав входит простенький эмулятор сотового с поддержкой Java.
Окно эмулятора выглядит как виртуальный телефон. Хоть он и неказисто выглядит, позволяет запускать все программы, написанные на общем диалекте J2ME. Как правило, это большинство бесплатных программ и игр, которые можно найти в сети. В частности, нам удалось запустить и нормально поработать с клиентами для Живого Журнала, протестировать читалку Book Reader от TequilaCat, и многие другие приложения.
После установки все файлы с расширением JAD ассоциируются с эмулятором. И теперь, чтобы запустить Java-игрушку, скачанную из интернета, достаточно щелкнуть в проводнике по JAD-файлу.
Клавишам телефона в эмуляторе соответствуют клавиши курсора и цифровой клавиатуры. Кроме того, клавиши можно «нажимать» с помощью мышки.
Некоторые коммерческие игры и программы также работают на эмуляторе от Sun. Но большинство из них оптимизировано под конкретные модели телефонов. Для таких программ нужен специальный эмулятор, воспроизводящий особенности конкретной модели. К примеру, эмулятор Nokia 7210, который мы сейчас рассмотрим.
Nokia 7210 (Nokia Developer’s Suite for J2ME)
Эмулятор Nokia 7210 входит в состав Nokia Developer’s Suite for J2ME – универсального пакета инструментов для разработки приложений на Java под мобильные телефоны от Nokia. Весь пакет весит сорок мегабайт и скачивать его придется полностью.
Для скачивания необходимо зарегистрироваться на сайте http://www.forum.nokia.com/. Кроме того, при установке пакета придется ввести серийный номер, который – вот сюрприз! – надо отдельно получить на том же сайте. Ничего сложного в процедурах регистрации и получения серийного номера вроде бы нет, но времени они отнимают изрядно.
Перед установкой пакета также требуется сначала установить исполняемую среду Java от компании Sun – но об этом мы уже говорили в самом начале.
Сам эмулятор выглядит куда красивее своего младшего собрата от Sun. Мало того, он позволяет не только запускать Java-программы, но и эмулирует другие функции телефона Nokia 7210. Записная книжка, будильник и даже настройки – все по-настоящему. Но нас интересует собственно Java.
При выполнении команды File > Open эмулятор открывает окно, в котором можно ввести ссылку или путь к файлу на жестком диске. После выбора программа немедленно запускается и можно наслаждаться всеми благами Java на мобильном телефоне.
Эмулятор Nokia 7210 позволяет запускать программы не только для этой модели, но и для других телефонов, относящихся к серии Nokia 40. Кроме того, на нем же можно запускать любые Java-приложение, что могут идти на эмуляторе от Sun.
Заключение
Если вы только присматриваетесь к телефонам с поддержкой Java, эмуляторы могут помочь вам принять окончательное решение. Они позволяют пощупать «кота в мешке» — поработать с Java-приложениям и протестировать игры.
В первой статье, посвященной программированию на J2ME, мы рассмотрели первые шаги тех, кто решил всерьез заняться своим мобильником и использовать его возможности на полную катушку. Ведь теперь у Вас в руках уже не роскошь и не просто средство связи, а целая программная платформа с прекрасными возможностями для новых разработок и усовершенствования существующих. Так что теперь любой каприз вашей фантазии, ограниченный ресурсами памяти и процессора вашего мобильника, может быть воплощен в жизнь.
В «Java 2 Micro Edition — первые шаги» мы коснулись истории, средств разработки и написали первую программу на основе шаблонной. Теперь же расширим и углубим наши знания на очередном примере. Давайте рассмотрим, как вывести на экран мобильника картинки, как сделать настоящее интерактивное слайд-шоу! (далее…)
Вы все еще хотите писать программы для мобильных телефонов? Тогда нам по пути, продолжаем наши уроки мобильного программирования. Тем, кто только что к нам присоединился, рекомендуем сначала ознакомиться хотя бы со вторым уроком, где мы рассмотрели устройство MIDLETa, разобрали пример работы с объектами Image, Form и CommandListener, а еще лучше попробовать все описанное на практике.
Сегодня нам понадобятся те же средства, которые мы использовали во втором уроке, это базовый пакет J2SE, а также инструментарий J2ME Wireless Toolkit. В третьем уроке мы рассмотрим еще несколько объектов, позволяющих сделать интерактивное меню, а также познакомимся с простейшей графикой, задействовав при этом клавиши телефона. (далее…)
Все больше и больше корпоративных Java-проектов используют XML в качестве стандартного средства для хранения данных для того, чтобы сделать их транспортабельными и доступными другим приложениям и сервисам. Однако из-за высоких требований XML-парсеров к вычислительной мощности, J2ME-приложения в большинстве своем не могли воспользоваться XML для хранения каких-либо данных. Однако сейчас можно найти XML-парсеры, которые не требуют много места и не сильно прихотливы к количеству системных ресурсов. Таким образом, MIDP-программисты уже сегодня могут пользоваться XML в своих приложениях для мобильных устройств. В этой статье мы рассмотрим пример одного такого приложения. (далее…)