MForum.ru
30.01.2006, MForum.ru
Главное отличие технологии i-mode от других мобильных платформ с точки зрения программирования – это своя версия платформы Java (DoCoMo Java или сокращенно DoJa). В новом материале, подготовленном компанией "Медиа Мобайл" для MForum.ru, описаны особенности использования этой технологии (в России используется DoJa 1.5) и ее отличия от технологии MIDP (Mobile Information Device Profile), используемой в J2ME.
Doja как и MIDP базируется на CLDL (Connected Limited Device Configuration), которая входит в состав J2ME. Более того, Doja API так же как и MIDP состоит из 2 частей – API относящийся к J2ME/CLDC и API содержащий непосредственно функции, относящиеся к платформе i-mode (i-mode Java API). i-mode Java API предоставляет функции работы с интерфейсом, связью, графикой и проигрыванием звука. По функциональности многие из них похожи на присутствующие в MIDP, но есть и довольно сильные отличия.
Пакеты, входящие в состав i-mode Java API:
• com.nttdocomo.io Cодержит в себе 2 класса – HttpConnection, отвечающий за сетевые соединения по протоколу HTTP и ConnectionException, содержащий исключения, возникающие при работе с сетью.
• com.nttdocomo.net Содержит классы для сетевого взаимодействия, в частности класс URLEncoder, конвертирующий строку в формат URL и URLDecoder, совершающий обратное преобразование.
• com.nttdocomo.util Содержит некоторые вспомогательные классы и интерфейсы, такие как, например, EventListener (уведомление о событиях) и интерфейсы работы с таймерами.
• com.nttdocomo.lang Содержит 2 класса исключений - UnsupportedOperationException и IllegalStateException.
• com.nttdocomo.ui Содержит различные классы для создания приложения и пользовательского интерфейса.
Основные особенности Doja-приложений
• Одновременно может быть запущено не более одного приложения
• Одно приложение не может получить доступ к скрэтчпаду (см. ниже) другого
• Приложение не может получить доступ к личным данным, таким как адресная книга
• Максимальный размер jar-файла – 30 кб
• Максимальный размер скрэтчпада – 100 кб
• Приложение может устанавливать сетевое соединение только с тем сервером, с которого было загружено
• Максимальная величина исходящего HTTP запроса – 5 кб, входящего – 10 кб
Хранение данных
Как в MIDP, так и в Doja, существует возможность сохранять данные необходимые приложению на мобильном телефоне, однако реализована эта возможность разными способами. В MIDP для постоянного хранения данных используется механизм RecordStore, который представляет собой разновидность базы данных. Вся работа с данными осуществляется через записи (как и в обычных БД). В Doja все данные, которые приложению необходимо сохранить, записываются в область, называемую скрэтчпад (Scratchpad), которую можно представить, как один большой файл, поддерживающий произвольный доступ. Приложение может также загружать картинки и звуки из интернета и сохранять их в скрэтчпаде для последующей загрузки и использования (обычно так и поступают, т.к. максимальный размер jar’а – 30 кб, чего зачастую не хватает для сохранения графики и звуков).
Особенности работы с графикой
Одной из главных проблем при работе с графикой в Doja является отсутствие функций клиппинга изображений. То есть, в классе Graphics нет аналогов функций clipRect и setClip, а также нет никакого способа их заменить. Таким образом, изображения можно выводить на экран только полностью, что является значительным ограничением. Еще одно отличие Doja 1.5 от MIDP – отсутствие якорей для вывода графики и текста. В MIDP при выводе картинки на экран функция drawImage, а также ряд других функций принимают в качестве одного из параметров так называемый якорь, который представляет собой набор флагов для выравнивания графических элементов относительно какой-либо позиции на экране. В Doja понятие якорей отсутствует. Также различаются поддерживаемые форматы графики – для MIDP основным является Png, тогда как Doja поддерживает только Gif и Jpeg.
У вас есть вопросы к авторам материала? Спрашивайте в форуме под статьей, вам ответят специалисты компании MediaMobile.
© "Мобильный форум"
03.10. [Новинки] Слухи: Появились подробности о Honor Magic 8, Magic 8 Pro и MagicPad 3 Pro / MForum.ru
02.10. [Новинки] Анонсы: Huawei Nova 14i представлен официально / MForum.ru
02.10. [Новинки] Анонсы: Realme 15x с защитой "IP69 Pro" представлен официально / MForum.ru
01.10. [Новинки] Анонсы: Представлен Vivo V60 Lite 4G с аккумулятором емкостью 6500 мАч и быстрой зарядкой мощностью 90 Вт / MForum.ru
01.10. [Новинки] Анонсы: Realme P3 Lite 4G появился в ЕС / MForum.ru
30.09. [Новинки] Анонсы: Vivo V60e появится в Индии / MForum.ru
29.09. [Новинки] Анонсы: Xiaomi 15T и 15T Pro представлены официально / MForum.ru
26.09. [Новинки] Анонсы: Xiaomi 17 со Snapdragon 8 Elite Gen 5 представлен официально / MForum.ru
25.09. [Новинки] Анонсы: Vivo V60 Lite 5G представлен официально / MForum.ru
25.09. [Новинки] Анонсы: Qualcomm официально представила Snapdragon 8 Elite Gen 5 / MForum.ru
24.09. [Новинки] Слухи: Использование инновационного экрана в iQOO 15 подтверждено официально / MForum.ru
23.09. [Новинки] Анонсы: MediaTek официально представила флагманский чипсет Dimensity 9500 / MForum.ru
23.09. [Новинки] Анонсы: Realme GT 8 и GT 8 Pro представят в следующем месяце / MForum.ru
22.09. [Новинки] Анонсы: Vivo Y50i представлен официально
19.09. [Новинки] Анонсы: Redmi 15C 5G появился в некоторых странах ЕС / MForum.ru
19.09. [Новинки] Слухи: Xiaomi Pad 8 может получить чипсет Snapdragon 8 Elite / MForum.ru
19.09. [Новинки] Слухи: Vivo V60 Lite 4G готовится к анонсу / MForum.ru
18.09. [Новинки] Слухи: Смартфон Xiaomi 17 Pro замечен в Geekbench / MForum.ru
17.09. [Новинки] Анонсы: Компания BOE представила дисплей ADS Pro / MForum.ru
16.09. [Новинки] Анонсы: Vivo Y31 5G и Y31 Pro 5G официально представлены в Индии / MForum.ru