Платформа J2Me
Шрифт:
На рисунке 4 показана панель, которая появляется, когда вы выбираете закладку Optional (Необязательные атрибуты). Она позволяет вам вводить информацию о полях обязательных атрибутов MID-лета, которые вы видели ранее в таблице 2.5.
Рисунок 2.4. Эта панель позволяет вам редактировать необязательные атрибуты мета-информации вашего файла дескриптора приложения для вашего MID-лета
После завершения этого этапа главное окно 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 (Определяемые пользователем).
Панель, показанная на рисунке 2.6, позволяет вам задать атрибуты приложения. Обратите внимание, что панель имеет кнопку Add (Добавить), которая позволяет вам добавлять дополнительные атрибуты. В главе 9 есть несколько примеров, которые покажут вам, как добавлять выборочные атрибуты с помощью Wireless Toolkit и как использовать атрибуты в ваших приложениях.
Рисунок 2.6. Разработчики приложения могут устанавливать определенные атрибуты для одного или более MID-летов в наборе MID-летов
Если вы взглянете еще раз на рисунки 2.3 и 2.4, вы увидите, что панели Required (Требуемые атрибуты) и Optional (Необязательные атрибуты) не позволяют вам добавлять какие-либо атрибуты в них. Вы можете только редактировать значения атрибутов, которые уже есть. Вы не можете добавлять обязательные поля, потому что они стандартизованы. Набор необязательных полей также стандартизован, хотя их присутствие не обязательно.
После того как вы закончите этот цикл начального определения набора MID-лета, вы всегда можете отредактировать значения любого из атрибутов MID-лета. Выберите кнопку Settings (Параметры) в строке меню KToolbar. Когда вы это сделаете, вновь появится окно, показанное на рисунке 2.3. Внесите желаемые изменения и нажмите ОК.
Теперь пришло время поместить исходный файл приложения внутри проекта, как указано в панели результатов диагностики KToolbar. Когда вы создадите новый проект, KToolbar создаст соответствующие директории под структурой директорий установки, как вы уже видели, когда использовали интерфейс командной строки. Вспомните, что на моей системе эта директория располагается в /cygdrive/c/J2mewtk/apps.
Под этой директорией существует директория проекта HelloWorld. Ваш следующий шаг заключается в размещении исходного файла HelloWorld. Java вручную под директорией HelloWorld/src/. Конечно, если бы вы действительно создавали проект с нуля, вы бы сначала создали исходник с помощью своего любимого текстового редактора.
Теперь вы готовы к компиляции. Нажмите на кнопку Build (Создать) на панели кнопок главного окна KToolbar. Wireless Toolkit откомпилирует исходный файл HelloWorld.java и выдаст результат диагностики в главном окне KToolbar, которое показано на рисунке 2.7. Конечно, если ваша компиляция не удастся, обычный благоприятный результат компиляции появится на этой панели.
Рисунок 2.7. Компиляция вашего проекта выведет дополнительные результаты диагностики в главном окне KToolbar
Если результаты вашей компиляции кажутся вам неубедительными, вы можете использовать ваш командный процессор для подтверждения наличия файлов. class в директориях tmpclasses/ и classes/:
$ pwd
/cygdrive/с/J2mewtk/apps/HelloWorId/tmpclasses
$ Is -1
total 8
— rw-r-r— 1 vartan None 2036 HelloWorld.class
$
? cd../classes/
5 pwd
/cygdrive/с/J2mewtk/apps/HelloWorld/classes
$ Is -1
total 8
— rw-r-r- 1 vartan None 2036 HelloWorld.class
Как вы уже знаете, директория tmpclasses/ содержит файлы. class, созданные в самом процессе компиляции. Директория classes/ содержит предварительно проверенные файлы, созданные утилитой preverifу. J2ME WTK запускает утилиту preverify автоматически, когда вы нажимаете на кнопку Build (Создать) KToolbar.
После того кай вы выполните компиляцию, вы должны упаковать приложение, что вы уже делали при работе с инструментами командной строки. На панели кнопок KToolbar нет кнопки Package (Упаковка). Вместо этого раскройте пункт меню Project (Проект) в меню KToolbar и выберите пункт меню Package (Упаковка), как показано на рисунке 2.8.
Рисунок 2.8. Выберите пункт меню Package (Упаковка) для упаковки вашего приложения. На этом этапе создаются файлы JAD и JAR приложения
Рисунок 2.9 показывает результат диагностики, созданный, когда вы закончили процесс упаковки. Заметьте, что он показывает, что Wireless Toolkit создал файлы Hello World jar и HelloWorld.jad.
Рисунок 2.9. Этап упаковки на самом деле компилирует приложение прежде, чем его упаковать. Результат диагностики отражает выполнение этапов компиляции и упаковки
Вы можете вновь проверить наличие этих файлов, вручную выведя описание содержимого директории bin/ проекта:
$
pwd /cygdrive/c/J2mewtk/apps/HelloWorld/bin
$ Is -1
total 3
— rw-r-r- 1 vart'an None 282 HelloWorld.jad
— rw-r-r- 1 vartan None 6960 HelloWorld.jar
— rw-r-r- 1 vartan None 29V MANIFEST.MF
S
На самом деле упаковка вашего приложения с помощью J2MEWTK сначала компилирует и предварительно проверяет вашу программу, а затем упаковывает ее. Так что вы можете пропустить процесс явной компиляции, описанный в предыдущем разделе, и просто упаковать ваше приложение до его раскрытия и тестирования. Однако явный этап компиляции важен, если вы хотите откомпилировать вашу программу без ее упаковки.