Автор неизвестен - Платформа J2Me
Спецификация MIDP требует, чтобы в файле Manifest присутствовали определенные поля. Требуемые поля показаны в таблице 2.2.
Таблица 2.2. Обязательные атрибуты файла MANIFEST.MF
Имя атрибута — Описание
MIDlet-Name — Название набора MID-летов
MIDlet-Versiorv — Номер версии набора MID-летов в форме <major>.<minor>.<micro>, определяемой схемой спецификации управления версиями продукта JDK
MIDlet-Vendor — Разработчик приложения (компания или частное лицо)
MIDlet-<n> — По одному на MID-лет в данном наборе, содержит разделяемый запятой список из текстового имени MID-лета, значка и имени класса п-ного MID-лета в наборе
MicroEdition-Profile — Профиль J2ME, необходимый для исполнения MID-лета
MicroEdition-Configuration — Конфигурация J2ME, необходимая для исполнения MID-лета
Файл манифеста содержит строки атрибутов, один атрибут на строку. Каждый атрибут состоит из ключа и значения. После ключа ставится двоеточие, которое отделяет его от связанного с ним значения. Файл MANIFEST.MF программы HelloWorld находится в папке HelloWorld/bin/. Он выглядит следующим образом:
MIDlet-l: HelloWorld, HelloWorld.png, HelloWorld
MIDlet-Narae: HelloWorld
MIDlet-Vendor: Vartan Piroumian
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
Обратите внимание на имя атрибута MIDlet-1: в файле MANIFEST.MF. Файл манифеста различает различные MID-леты, нумеруя их от MIDlet-l до MIDlet-/!. Число 1 должно идентифицировать первый MID-лет.
У атрибута MIDlet-1 существует три значения. Первое — название набора MID-летов, который содержит данный MID-лет. Это значение может быть именем, воспринимающимся человеком. Второе значение является именем файла изображения PNG, который AMS использует как значок, представляющий этот MID-лет. Последнее значение является именем файла класса MID-лета, который определяет входную точку исполнения MID-лета.
Наверное, самыми важными атрибутами являются атрибуты MicroEdition-Configuration и MicroEdition-Profile. AMS использует эти значения для определения того, подходит ли MID-лет для данного устройства.
Спецификация MIDP позволяет также создавать необязательные поля в файле манифеста. В таблице 2.3 показаны необязательные поля файла манифеста.
Таблица 2.3. Необязательные атрибуты файла MANIFEST.MF
Имя атрибута — Описание
MIDiet-Description — Описание набора MID-летов
MIDlet-Icon — Имя файла PNG, содержащегося в JAR
MIDlet-Info-URL — URL, который содержит дополнительную информацию об этом наборе MID-летов
MIDlet-Data-Size — Минимальное количество байт данных постоянного хранения, требуемое набором
Создание файла JAR для набора МID-летов
Теперь, когда вы создали файл манифеста, вы готовы к созданию файла JAR приложения. Используйте следующую команду jar:
$ jar craf bin/MANIFEST.MF bin/HelloWorld.jar — C classes/. -C res.
$
Эта команда создаст файл JAR для вашего набора MID-летов HelloWorld. Листинг содержимого директории bin/ обнаруживает только что созданный файл HelloWorld. jar:
$ Is — i bin
total 2
— rw-r-r- 1 vartan None 1393 HelloWorld.jar
— rw-r-r- 1 vartan None 193 MANIFEST.MF
$
Листинг содержимого файла JAR, который вы только что создали, выдает следующую информацию:
$ jar tf bin/HelloWorld.jar
META-INF/
META-INF/MANIFEST.MF
classes/./
classes/./HelloWorid.class
HelloWorld.png
$
Как вы можете видеть, файл манифеста включается в файл JAR. Файл JAR содержит один файл. class для нашего приложения HelloWorld. Он также содержит файл формата. png (portable network graphics — переносимая сетевая графика), который является подходящим вариантом для использования в качестве значка приложения. Файл MANIFEST.MF, конечно, был создан вручную, как описано выше.
Создание файла дecкpиптopa приложения для набора МID-летов
Программное обеспечение управления приложениями на устройстве, таком, как мобильный телефон, использует файл JAD для получения информации, необходимой для управления ресурсами во время выполнения MID-лета. Файл дескриптора приложения является необязательным, однако полезным. Вы можете использовать любой текстовой редактор для его создания, но вы должны дать файлу расширение. jad. Чтобы избежать путаницы, я рекомендую давать ему имя, которое характеризует весь набор MID-летов.
Таблица 2.4. Обязательные атрибуты файла дескриптора приложения
Имя атрибута — Описание
MIDlet-Jar-URL — URL файла JAR набора MID-летов
MIDlet-Jar-Size — Размер (в байтах) файла JAR
MIDlet-Name — Имя набора MID-летов
MIDlet-Vendor — Разработчик приложения (например, название компании или имя частного лица]
MIDlet-Version — Номер версии набора MID-летов в форме <major>. <minor>.<micro>, определяемой схемой спецификации управления версиями продукта JDK
MicroEdition-Configuration — Конфигурация J2ME, необходимая для исполнения MID-лета
MicroEdition-Profile — Профиль J2ME, необходимый для исполнения MID-лета
Таблица 2.5. Необязательные атрибуты файла дескриптора приложения
Имя атрибута — Описание
MIDlet-Data-Size — Минимальное количество байт данных постоянного хранения, требуемое набором
MIDlet-Delete-Confirm — Указывает, должна ли AMS запрашивать подтверждение пользователя перед удалением MID-лета
MIDiet — Description — Описание набора MID-летов
MIDlet-Icon — Имя файла PNG, содержащегося в JAR
MIDlet-Info-URL — URL, который содержит дополнительную информацию об этом наборе MID-летов
MIDlet-Install-Notify — Указывает, должна ли AMS уведомлять пользователя перед установкой нового MID-лета
В дополнение к необязательным полям, перечисленным в таблице 2.5, файл JAD может содержать отдельные поля атрибутов для каждого MID-лета, описанные и названные разработчиком приложения. Вы можете называть эти атрибуты так, как вам нравится, однако вы не должны использовать «MIDlet-» в имени атрибута. Этот префикс зарезервирован для имен стандартных атрибутов, определенных спецификацией MIDP.
Файл JAD для программы HelloWorld также находится в директории HelloWorld/bin/ и его содержимое выглядит так:
MIDlet-1: HelloWorld, HelloWorld.png, HelloWorld
MIDlet-Jar-Size: 1393
MIDlet-Jar-URL: HelloWorld.jar
MIDlet-Name: HelloWorld
MIDlet-Vendor: Vartan Piroumian
MIDlet-Version: 1.0
В частности, обратите внимание на поле атрибута MIDlet-Jar-Size. Когда вы используете инструменты командной строки, вы должны вручную редактировать файл JAD, чтобы обновлять значение атрибута MIDlet-Jar-Size каждый раз, когда вы создаете файл JAR, для точного отражения размера файла JAR. Листинг директории bin/ показывает, что ваш файл JAR занимает 1393 байта. Поэтому файл JAD должен точно отражать этот размер, что он и делает.
Заметьте, что некоторые из полей появляются как в файле манифеста, так и в файле JAD. Причина этого заключается в том, что спецификация MIDP требует их наличия в обоих полях. В частности, три атрибута — MIDlet-Name, MIDlet-Version и MIDlet-Vendor — заслуживают особого внимания. Они должны иметь одно и то же значение, если присутствуют как в файле JAD, так и в файле Manifest. Спецификация MIDP оговаривает, что файл JAR не должен загружаться, если эти три значения не являются идентичными в этих двух файлах.
Pacкpытиe u выполнение
К настоящему моменту мы уже прошли этапы редактирования (создания программы), компилирования, предварительной проверки и упаковки. Наконец, вы готовы к распаковке и запуску вашего приложения. В действительности разработчик MID-лета загрузил бы файл JAR на какую-либо систему инициализации приложений (системы инициализации приложений описываются в главе 10). Системы инициализации предлагают распаковку приложения вслед за его загрузкой. Пользователи загружают файл JAR набора MID-летов на свои устройства и запускают его с помощью программного обеспечения системы управления приложениями устройства.
В этой главе распаковка означает размещение файлов под управлением эмулятора инструментария J2ME Wireless Toolkit. Вы можете затем запустить приложение в эмуляторе, имитируя его выполнение на реальном устройстве.
Вместо того чтобы просто показать вам, как размещать упакованные файлы приложения под управлением Wireless Toolkit для выполнения, в следующем разделе вам будет показано, как выполнять полный цикл разработки, который вы только что завершили, с помощью Wireless Toolkit. Последняя часть этого описания покажет вам, как выполнять ваши приложения.
Использование J2ME Wireless Toolkit
Этот раздел покажет вам, как использовать J2SE Wireless Toolkit, разработанный в отделе «Java Software» компании «Sun», для выполнения всех этапов цикла разработки, который вы выполнили вручную. Вы можете загрузить J2ME Wireless Toolkit бесплатно с Web-страницы Java Software на сайте Sun Microsystems, http://java.sun.com. Загрузите версию, соответствующую вашей операционной системе, и следуйте инструкциям по установке, предоставляемым при загрузке.