В дополнение к необязательным полям, перечисленным в таблице 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. Загрузите версию, соответствующую вашей операционной системе, и следуйте инструкциям по установке, предоставляемым при загрузке.
Создание пpoeктa
Свойства и функции Wireless Toolkit базируются на проектах. Проект представляет собой разработку набора из одного или более MID-летов. Завершение выполнения цикла разработки проекта выражается в создании файлов приложения JAR и JAD и файла манифеста, который описывает файл JAR.
KToolbar является основной утилитой Wireless Toolkit. На рисунке 2.1 показано главное окно KToolbar. Обратите внимание, что во время запуска он предлагает вам создать новый проект или открыть существующий и снова использовать исходный код, который вы уже видели в примерах с использованием командной строки.
Рисунок 2.1. KToolbar является главным окном, из которого вы можете получить доступ ко всем функциям Wireless Toolkit
Первый этап затем заключается в создании нового проекта. Я собираюсь создать проект HelloWorld и вновь использовать исходный код, который вы уже видели. На рисунке 2.2 показано окно, которое всплывает, когда вы выбираете пункт New Project… (Новый проект…) в строке меню KToolbar.
Рисунок 2.2. Чтобы создать новый проект, вы должны задать, по крайней мере, один MID-лет. Вы должны предоставить имя проекта и имя основного класса Java для первого MID-лета
После того как вы введете и подтвердите имя проекта и имя класса MID-лета, появится окно, показанное на рисунке 2.3.
Рисунок 2.3. Wireless Toolkit создает файлы манифеста и JAD для вас, основываясь на информации, которую вы предоставили в этом окне, которое представляет из себя обязательные поля дескриптора приложения
Это окно предложит вам ввести необходимую информацию о вашем проекте, которая будет использоваться для создания файла манифеста JAR и файла JAD. Заметьте, что закладка Required (Требуемые атрибуты) всегда показывается вначале при появлении окна. Атрибуты, которые вы видите, соответствуют атрибутам, перечисленным в таблице 2.4, обязательным атрибутам дескриптора приложения. Вы можете изменять информацию, установленную по умолчанию, например, атрибуты MIDlet-Vendor или MIDlet-Jar-URL.
На рисунке 4 показана панель, которая появляется, когда вы выбираете закладку Optional (Необязательные атрибуты). Она позволяет вам вводить информацию о полях обязательных атрибутов MID-лета, которые вы видели ранее в таблице 2.5.
Рисунок 2.4. Эта панель позволяет вам редактировать необязательные атрибуты мета-информации вашего файла дескриптора приложения для вашего MID-лета
После завершения этого этапа главное окно KToolbar выведет три строки информационных сообщений в своей панели вывода результатов диагностики. Они сообщат вам, где размещены ваши исходные файлы Java, файлы ресурсов приложения и файлы библиотеки приложения. На рисунке 2.5 показано обновленное окно KToolbar.
Рисунок 2.5. После того как вы завершите ввод необходимой информации о наборе МЮ-летов, KToolbar покажет, где разместить файлы конкретного приложения. Обратите внимание, что файлы ресурсов помещаются в директорию приложения res/, а не в директорию bin/
В версии 1.0.3 J2ME WTK добавлена закладка User Defined (Определяемые пользователем) к основной панели Settings (Параметры). Вы можете видеть эту закладку User Defined (Определяемые пользователем) на рисунках 2.3 и 2.4. На рисунке 6 показана панель User Defined (Определяемые пользователем), которая появляется, когда вы нажимаете на закладку User Defined (Определяемые пользователем).