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.
© "Мобильный форум"
25.11. [Новинки] Слухи: ZTE Nubia Flip3 и Nubia Fold появились на рендерах / MForum.ru
24.11. [Новинки] Слухи: Apple может установить в iPhone 17e камеру, как в обычном iPhone 17 / MForum.ru
24.11. [Новинки] Слухи: Появились рендеры OnePlus Ace 6T / MForum.ru
21.11. [Новинки] Слухи: Раскрыты подробности о Poco F8 Ultra / MForum.ru
21.11. [Новинки] Слухи: Появились подробности о OnePlus Ace 6T / MForum.ru
20.11. [Новинки] Анонсы: Lava Agni 4 с «ИИ системного уровня» представлен официально / MForum.ru
20.11. [Новинки]
Анонсы: Honor Magic 8 Pro готовится к глобальному релизу / MForum.ru
19.11. [Новинки] Слухи: iQOO 15 Mini может быть отменен / MForum.ru
19.11. [Новинки] Анонсы: HMD Terra M - “умный функциональный телефон” для корпоративных пользователей / MForum.ru
18.11. [Новинки] Слухи: Раскрыты полные спецификации Honor 500 и Honor 500 / MForum.ru
17.11. [Новинки] Анонсы: Начался прием предварительных заказов на линейку Huawei Mate 80 / MForum.ru
17.11. [Новинки] Слухи: Раскрыты дизайн и спецификации Poco Pad M1 / MForum.ru
14.11. [Новинки] Слухи: Samsung Galaxy Z TriFold готовится к анонсу / MForum.ru
14.11. [Новинки] ПО: Apple выпустила вторую бета-версию iOS 26.2 / MForum.ru
13.11. [Новинки] Анонсы: Nubia V80 Design представлен официально / MForum.ru
13.11. [Новинки] Слухи: Samsung планирует сделать Galaxy Z Flip 8 тоньше и легче / MForum.ru
12.11. [Новинки] Слухи: ZTE Blade V80 Vita показался на рендерах / MForum.ru
12.11. [Новинки] Анонсы: Vivo Y500 Pro с АКБ 7000 мАч представлен официально / MForum.ru
11.11. [Новинки] Слухи: Производитель раскрыл спецификации Oppo Reno15 и Reno 15 Pro накануне анонса / MForum.ru
11.11. [Новинки] Слухи: Раскрыты подробности о Samsung Galaxy S26 Ultra / MForum.ru