Оболочка MIDP для Android

Материал из Project D8
Перейти к: навигация, поиск

Библиотека для Android для портирования Java ME мидлетов, она же «Оболочка MIDP для Android». Библиотека состоит из двух компонентов:

  1. реализация основных API профиля MIDP 2.0 в ОС Android
  2. графическая оболочка для настройки и запуска мидлетов

В Android так или иначе присутсвует почти все необходимое для того, чтобы приложения на Java ME работали. Только имеет иные названия, по-другому вызывается и т. д. Поэтому, хотя технически приложения работать могут, они под Android просто не скомпилируются / не запустятся. Данная библиотека устраняет это препятствие. Если вкратце, то большинство классов библиотеки представляет собой простую обертку для классов Android, которые выполняют аналогичную функцию. На данный момент подобным образом реализованы почти все API профиля MIDP 2.0 и некоторые дополнительные. Присутствует, однако, пара моментов, которые в приложениях для Android в принципе реализуемы, но только не таким образом, как они реализованы в Java ME. В результате при компиляции исходного кода, предназначенного для Java ME, под Android с использованием данной библиотеки, несколько ошибок все равно возникнет. Но несколько ошибок исправить проще, чем несколько тысяч ошибок.

Вторая часть библиотеки в основном обеспечивает удобство работы на устройствах с большим сенсорным экраном и без аппаратной клавиатуры с приложениями, не оптимизированными ни под высокие разрешения, ни под сенсорное управление. Сюда входит и виртуальная клавиатура с настраиваемой раскладкой, и виртуальный экран низкого разрешения, предоставляемый мидлету и затем масштабируемый до размеров реального, и тому подобные вещи. Подробнее об этом говорится в описании оболочки.

В оболочке для выбора цветов используется компонент Android Color Picker, который в архив с данной библиотекой не входит. При необходимости его можно скачать с официального сайта по предыдущей ссылке, либо вообще обойтись без него и вводить цвета вручную в текстовом виде.

Содержание

Рецепт

Здесь планируется цикл статей про использование библиотеки, начиная с загрузки нужных компонентов, создания проектов в Eclipse, и заканчивая хитрой локализацией приложений а-ля «Android way». Все это будет проделано на примере игры Ancient Empires II RM.

  1. Описание оболочки
  2. Подготовка необходимых библиотек в Eclipse
  3. Портирование простого мидлета
  4. Портирование Ancient Empires II RM

Загрузка и список изменений

Скачать библиотеку

Версия 1.1

  • Нажатие кнопки редактирования раскладки виртуальной клавиатуры теперь не передается мидлету
  • Исправлена передача мидлету событий указателя, координаты указателя теперь приводятся к виртуальному экрану
  • Исправлена работа очереди событий, тормозить и зависать оболочка больше не должна
  • Исправлен вылет при повороте экрана
  • Исправлено сворачивание мидлета по нажатию кнопки "Назад"
  • Реализован "корректный" выход из мидлета по удержанию кнопки "Назад"
  • Методы startApp, pauseApp и destroyApp теперь вызываются правильно
  • Добавлен метод createApp, вызов метода initApp отсрочен до полной инициализации оболочки
  • Исправлено создание Alert без значка; исправлены кнопки в Alert
  • Глобальная очередь событий вместо отдельной для каждого Displayable
  • Обработка событий не прерывается при сворачивании приложения
  • В портретной ориентации виртуальный экран мидлета сдвинут к верхнему краю экрана устройства

Версия 1.0

  • Первая более-менее рабочая версия
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Список
Инструменты