Midlet suite

Автор: content Вторник, Апрель 10th, 2012 Нет комментариев

Рубрика: Java Mobile

Одна из центральных целей MIDP модели обеспечить распределение ресурсов и данных между мидлетами. Для того чтобы мидлеты могли взаимодействовать друг с другом и распределять данные и ресурсы они должны быть помещены в один jar файл. Коллекция мидлетов в одном jar файле называется MIDlet suite. Мидлеты в пределах одного MIDlet suite могут разделять общее пространство имен (persistent storage), runtime object heap, и статические поля в классах. Отдельные классы файлы не могут быть удалены. Другими словами атомарная единица инсталляции приложения является MIDlet suite. MIDlet suite можно охарактеризовать «пакетом» и окружением.

Пакет.
jar файл может включать в себя следующее:
Класс файлы
Ресурсы (например, графические файлы)
Манифест — описывающий jar файл

Манифест должен содержать следующие атрибуты:
MIDlet-Name
MIDlet-Version
MIDlet-Vendor
MIDlet-[n] для каждого мидлета
MicroEdition-Profile
MicroEdition-Configuration

Они являются обязательными, и при их отсутствии пакет считается ‘ломаным’.
Вот пример манифеста jar файла, который содержит два мидлета.

MIDlet-Name: CardGames
MIDlet-Version: 1.1.9
MIDlet-Vendor: midlet.ru
MIDlet-1: Solitaire, /Solitaire.png, ru.midlet.Solitaire
MIDlet-2: Domino, /Domino.png, ru.midlet.Domino
MicroEdition-Profile: MIDP-1.0
MicroEdition-Configuration: CLDC-1.0

MIDlet аттрибуты.

MIDlet-Name — имя MIDlet suite
MIDlet-Version — версия MIDlet suite
MIDlet-Vendor — имя продовца MIDlet suite
MicroEdition-Profile — J2ME профайл используется тот же формат что и для microedition.profiles (например «MIDP-1.0″).
MicroEdition-Configuration — J2ME конфигурация используется тот же формат что и для microedition.configuration (например «CLDC-1.0″).
MIDlet-[n] — имя, иконка и класс, реализующий MIDlet, разделенные запятой. Минимальное значение [n] должно быть 1, остальные идут по возрастающей, без перескоков. Имя используется для показа пользователю. Иконка имя PNG файла который будет показан. Класс, имя класса реализующего класс MIDlet.
MIDlet-Description — короткое описание мидлета.
MIDlet-Info-URL — url для более детального описания мидлета
MIDlet-Jar-URL — url из которого пакет был загружен
MIDlet-Jar-Size — размер в байтах

 

Помимо jar файла MIDP определяет опциональный application descriptor (JAD). JAD файл позволяет системе проверить ассоциированный MIDlet suite до загрузки jar файла. JAD файл имеет text/vnd.sun.j2me.app-descriptor MIME тип и расширение .jad.

Если JAD файл присутствует, он должен иметь следующие поля:

 

MIDlet-Name
MIDlet-Version
MIDlet-Vendor
MIDlet-[n] для каждого мидлета
MIDlet-Jar-URL
MIDlet-Jar-Size

Значения MIDlet-Name, MIDlet-Version, MIDlet-Vendor полей в JAD файле должны совпадать со значениями в манифесте, иначе MIDlet suite будет считаться недействительным. Остальные атрибуты могут дублироваться. Если их значения будут отличаться, то система будет использовать значение, взятое из jar файла.

 

Как в JAD файле, так и в манифесте можно определять свои атрибуты, но следует помнить, что ваши атрибуты не должны начинаться с «MIDlet-» так как данный префикс зарезервирован. Значения атрибутов могут быть прочитаны методом getAppProperty (String key) класса MIDlet.

MIDlet suite окружение.
Мидлеты могут взаимодействовать только с мидлетами, которые находятся в том же MIDlet suite. Окружение состоит из пространства имен как показано на рисунке.

 

Логические пространства имен следующие:

  • Классы CLDC и MIDP. Это пространство имен разделяемое всеми MIDlet suites на устройстве.
  • Классы в пределах jar файла (в пределах MIDlet suite)
  • Все остальные файлы (не класс файлы) в пределах jar файла (в пределах MIDlet suite). Данные файлы могут быть доступны через java.lang.Class.getResourceAsStream метод. (Содержимое JAD файла и манифеста доступно через javax.microedition.midlet.MIDlet.getAppProperty метод.)
  • Отдельное пространство имен для RMS записей. 

Мидлет может загружать и вызывать любой класс из своего MIDlet suite. При этом класс файлы не могут быть прочитаны как ресурс.

Источник: http://www.javaportal.ru/mobiljava/articles/suites.html
Автор Mank

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты