В предыдущей главе вы познакомились
В предыдущей главе вы познакомились с общей архитектурой платформы Java 2 ME, в этой главе вашему вниманию будут представлены две интегрированные среды для разработки мобильных приложений - это SUN ONE Studio 4 Mobile Edition и J2ME Wireless Toolkit 2.1. Обе среды распространяется бесплатно и разработаны в недрах компании Sun Microsystems. Данные инструментарии можно скачать с сайта самой компании. Предлагаемые к изучению инструментарии, в отличие от других сред программирования, адаптированы именно для создания приложений для мобильных устройств, поэтому будут рассмотрены и использованы в этой книге.
Прежде чем приступить к инсталляции SUN ONE Studio 4 Mobile Edition и J2ME Wireless Toolkit 2.1, необходимо установить набор инструментальных средств Java 2 SDK, SE vl.4.2_03 (Software Development Toolkit Standard Edition). Это последняя на данный момент версия библиотеки, предоставляющая программные средства для создания приложений на Java. В состав этой библиотеки также входит Java 2 Runtime Environment, SE vl.4.2_03, которая необходима для работы приложений написанных на Java.
Установка Java 2 SDK SE
Двойной щелчок левой кнопки мышки на файле j2sdk-1_4_2_03-windows-i586-p из каталога \SDK, приведет к распаковке архива. Далее появится окно с лицензионным соглашением, нажав на кнопку Next, вы попадете в окно Java 2 SDK SE vl.4.2_03 - Custom Setup, изображенное на рис. 3.1.
В этом диалоговом окне вам будет предложено выбрать каталог и тип установки. Нам нужны все компоненты, поэтому нажмите кнопку Next. В следующем окне вам необходимо выбрать браузер для интеграции Java, остановите свой выбор на необходимом и подтвердите свои действия, после чего начнется процесс установки, в конце которого вам предложат перезагрузить компьютер. После установки Java 2 SDK, можно приступать к инсталляции SUN ONE Studio 4 Mobile Edition и J2ME Wireless Toolkit.
Сразу хотелось бы остановиться на некоторых особенностях возникающих при инсталляции. Обе среды программирования независимы друг от друга, но в составе, а точнее в комплекте с SUN ONE Studio 4 Mobile Edition, входит J2ME Wireless Toolkit версии 1.0.4 01, но изданный момент уже имеется J2ME Wireless Toolkit версии 2.1. Такая путаница обусловлена как раз тем, что оба продукта независимы друг от друга и развиваются параллельно. Начнем установку с более мощной среды SUN ONE Studio 4 Mobile Edition.
Рис. 3.1. Окно Java 2 SDK, SE v1.4.2_03 - Custom Setup
Среда программирования SUN ONE Studio 4 Mobile Edition
В директории \SDK находится файл ffj_me_win32 - это программа установки интегрированной среды разработки SUN ONE Studio 4 Mobile Edition. После двойного нажатия левой кнопки мыши на этом файле, вы увидите окно с приветствием, нажав на кнопку Next, вы попадете в окошко с лицензионным соглашением. Ознакомившись с соглашением и нажав на кнопку Next, на экране монитора появится диалоговое окно SUN ONE Studio 4 update 1, Mobile Edition Setup, изображенное на рис. 3.2.
Рис. 3.2. Окно SUN ONE Studio 4 update 1, Mobile Edition Setup
В этом и следующем окне необходимо определиться с директорией, в которой будет размещаться устанавливаемый инструментарий, после чего появится диалоговое окно, показанное на рис. 3.3, где перечисляются компоненты установки. Путь, задающий директорию для установки SUN ONE Studio 4 Mobile Edition не должен содержать пробелов.
Окно выбора компонентов содержит элементы для установки. Как видно из рис. 3.3 инсталлируется не только J2ME Wireless Toolkit, но и Java 2iPlatform Micro Edition, которая также может поставляться отдельно и лежит на компакт-диске в каталоге \SDK (в том случае если вы предпочитаете работать с командной строкой).
Рис. 3.3. Окно выбора компонентов к установке
Два последующих окна носят скорее информационный характер, просто на жмите кнопку Next и мастер установки начнет свою работу по инсталляции cреды программирования SUN ONE Studio 4 Mobile Edition на компьютер.
Настройка SUN ONE Studio 4 Mobile Edition
После установки среды программирования SUN ONE Studio 4 Mobile Edition на рабочем столе появится иконка быстрого старта, При первом вызове инстру ментария SUN ONE Studio 4 Mobile Edition, необходимо настроить некоторые параметры. В первом появившемся окне, изображенном на рис. 3.4 надо выбрал директорию, где будет располагаться ваш рабочий каталог, содержащий исходные коды создаваемых программ.
Рис. 3.4. Выбор рабочей директории
Выберите любой устраивающий вас каталог, или создайте новый и нажмите кнопку Next. Следующее окно, показанное на рис. 3.5, предложит сохранить настройки от предыдущих версий.
Рис. 3.5. Окно Setting Import Wizard
Если у вас были установлены ранние версии SUN ONE Studio, воспользуйтесь этим мастером, если нет, нажмите кнопку Finish. В cледующем появившемся окне, показанном на рис. 3.6, будет предложено сконфигурировать установленную среду программирования при помощи мастера конфигурации.
Рис. 3. 6. Окно Setup Wizard
Настройка с помощью мастера Setup Wizard происходит в три этапа. На первом этапе, в окне, показанном на рис. 3.6, можно установить режим отображения инструментария, выбрать web-браузер, а также по необходимости задать используемый прокси сервер (Proxy Server). Задайте необходимые настройки и нажмите кнопку Next. Следующее диалоговое окно изображенное на рис. 3.7, показывает перечень инсталлируемых модулей.
Рис. 3.7. Инсталлируемые модули
Настройки по умолчанию в этом окне целесообразно оставить без изменений. Далее, нажав кнопку Next, вы попадете в последнее диалоговое окно Update Center, изображенное на рис. 3.8, с помощью которого можно обновить установленные компоненты через Интернет.
Рис. 3.8. Окно Update Center
Если вы имеете подключение в Интернет, то можно обновить некоторые из компонентов, процедура абсолютно бесплатна. Для отказа от обновления нажмите кнопку Finish. После чего перед вами появиться рабочая поверхность SUN ONE Studio 4 Mobile Edition, а на ее фоне окно Registration Wizard, показанное на рис. 3.9. С помощью этого окна необходимо зарегистрировать установленный продукт на сайте производителя.
Рис. 3.9. Окно Registration Wizard
Рекомендую вам зарегистрировать этот инструментарий, тем более что это бесплатно и в будущем может принести вам немалую пользу, например обновление установленных компонентов. После регистрации вы попадете непосредственно в главное окно SUN ONE Studio 4 Mobile Edition, где перед вами появится диалоговое окно Welcome SUN ONE Studio 4 update 1, Mobile Edition, показанное на рис. ЗЛО, благодаря которому можно создать проект или открыть необходимый файл.
Рис. 3.10. Окно Welcome SUN ONE Studio 4 update 1, Mobile Edition
С помощью окна Welcome можно осуществить так называемый быстрый старт, выбрав необходимое действие. По размеру окно довольнo таки большое и разделено на две части. В его нижней области имеется возможность отключения появления этого окна при открытии среды программирования SUN ONE Studio 4 Mobile Edition. Произведя таким образом настройку инструментария при первом старте, вы получите все рабочее окно SUN ONE Studio 4 Mobile Edition, изображенное на рис. 3.11.
Рис. 3.11. Рабочее окно SUN ONE Studio 4 Mobile Edition
Главное окно инструментария выполнено в лучших традициях подобных средств программирования, предоставляя большое количество разнообразных панелей инструментов, меню, кнопок, текстовых полей, а также окно Explorer (обозреватель), которое находится с левой стороны рабочей поверхности SUN ONE Studio 4 Mobile Edition. Окно Explorer состоит из трех вкладок: Файловые системы, Выполнение и Javadoc. Они находятся в нижней части окна Explorer.
Вкладка Файловые системы дает возможность подключить к проекту рабочую директорию, где, впоследствии, будут находиться исходные коды, то есть произвести монтаж файловой системы. Там же происходит подключение архивов Archive (JAR, Zip), о чем подробно будет рассказано в разделе 3.2.2.
Во вкладке Выполнение можно подключить телефонные эмуляторы и следить за процессами отладки и выполнения программы.
Вкладка Javadoc содержит сгенерированную документацию к проекту в виде HTML страниц.
Линейка меню, в верхней части среды программирования SUN ONE Studio 4 Mobile Edition, содержит множество команд. Щелкнув мышью на одном из названий, откроется выпадающее меню, содержащее список новых команд. Некоторые команды имеют выпадающие подменю. Рассмотрим ряд основных команд среды программирования SUN ONE Studio 4 Mobile Edition. Напротив каждой из команд в скобках находятся названия «горячих клавиш» для быстрой работы с системой.
Меню File
New (Ctrl+N) - создает новый файл. Mount Filesystem - осуществляет монтирование файловой системы. Unmount Filesystem - удаляет файловую систему. Open File (Ctrl+O) - открывает файл. Save (Ctrl+S) - сохраняет открытый файл. Save All - сохраняет все открытые файлы. Print (Ctrl+P) - печать. Page Setup - предварительный просмотр. Exit - выход из SUN ONE Studio 4 Mobile Edition.
Меню Edit
Undo (Ctrl+Z) - возврат произведенной операции на шаг назад. Redo (Ctrl+Y) - перевод к произведенной операции на шаг вперед. Cut (Ctrl+X) - вырезает часть кода, текста и так далее. Copy (Ctrl+C) - копирует информацию в буфер обмена. Paste (Ctrl+V) - вставка. Delete (Delete) - удаление информации. Find (Ctrl+F) - поиск. Replace (Ctrl+H) - повтор. Search Filesystem - поиск файловой системы. х
Меню View
Explore From Here (Ctrl+O) - открывает окно обозревателя в главном окне. Properties (Ctrl+1) - свойства файла. Explorer (Ctrl+2) - обозреватель. Source Editor (Ctrl+3) - текстовый редактор. Output Window (Ctrl+4) - окно вывода, показывает результат работы программы. Debugger Window (Ctrl+5) - окно отладчика. Web Browser (Ctrl+7) - Интернет-браузер. Javadoc Index Search (Shift+Fl) - поиск по индексу в документации. Workspaces - рабочее окно.
Меню Project
Project Manager (Ctrl+Shift+F9) - открывает окно менеджера проекта. Compile Project (Ctrl+Shift+Fl 1) - компилирует весь проект. Build Project (Ctrl+Shift+Fl 1) - компонует весь проект. Set Project Main Class (Ctrl+Shift+M) - устанавливает выбранный файл с кодом - главным классом всей программы. Debug Project (Ctrl+Shift+F5) - отладчик проекта. Import Project - импортирует выбранный проект.
Меню Build
Compile (F9) - компилирует выбранный файл. Compile All (Shift+F9) - компилирует все файлы проекта. Build (F11) - компонует выбранный файл. Build All (Shift+FH) - компонует все файлы проекта. Stop Compile (Alt+Shift+C) - остановка компиляции. Next Error (F12) - следующая ошибка. Previous Error (Shift+F12) - предыдущая ошибка.
Меню Debug
Start (Alt+F5) - запуск откомпилированной программы. Finish (Shift+F5) - остановка работы программы. Add Breakpoint (Ctrl+Shift+F8) - установка точки прерывания. Debugger Window (Ctrl+FS) - окно отладчика.
Меню Help
Contents - содержание справки. Наборы Справок - открывает подменю с набором имеющихся справок.
Создание проекта в SUN ONE Studio 4 Mobile Edition
Для создания проекту в среде SUN ONE Studio 4 Mobile Edition, необходимо выбрать в меню команду Project => Project Manager, в появившемся окне менеджера проектов изображенного на рис. 3.12, нажмите кнопку New.
Рис. 3.12. Окно менеджера проектов
Вместо окна менеджера проектов появится небольшое диалоговое окно Create New Project, где в поле Project Name необходимо задать имя проекту, например Demo и нажать на кнопку ОК. После этих действий на экране появится окно конфигурации созданного проекта показанное на рис. 3.13.
В окне конфигуратора проектов есть два пункта: Java 2 Standard Edition (J2SE) и Mobile Information Device Profile (CLDC\MIDP), выполненные в виде списка выбираемых элементов. Выбрав один из двух пунктов можно сконфигурировать проект для создания стандартной программы на Java 2 SE, либо приложение для мобильных телефонов если избрать пункт Mobile Information Device Profile (CLDC\MIDP). Выбираем пункт для создания мобильных приложений
Рис. 3.13. Окно конфигуратора проекта
и нажимаем кнопку Finish. После чего в нижней части окна Explorer, к вкладкам Файловые системы, Выполнение и Javadoc, добавится еще одна вкладка Project Demo. Затем необходимо произвести монтирование файловой системы для сконфигурированного проекта. В нижней части окна Explorer, перейдите на вкладку Файловые системы и в появившемся окне нажмите правой кнопкой мыши на надписи Файловые системы. В ответ на эти действия появится череда выпадающих меню, выберите команду Mount => Archive (JAR, Zip), изображенную на рис. 3.14.
Рис.3.14. Вкладка Файловые системы
Выбрав команду Archive (JAR, Zip), вы перейдете к окну New Wizard -Archive (JAR, Zip), с помощью которого производится монтаж необходимой для проекта библиотеки Java API. Все библиотеки скомпонованы в виде архивов, например библиотека для профиля MIDP 1.0, содержится в архиве midpapi.zip. Ситуация здесь несколько запутанная. Как уже говорилось в состав инструментария SUN ONE Studio 4 Mobile Edition входит также среда J2ME Wireless Toolkit версии 1.0.4 01, содержащая архив API для профиля MIDP 1.0. На рис. 3.15 показано окно New Wizard -Archive (JAR, Zip) и подключаемый архив API, находящийся в папке lib среды J2ME Wireless Toolkit 1.0.
Рис. 3.15. Окно New Wizard - Archive (JAR, Zip)
При установке более поздней версии этой интегрированной среды вы сможете подключать API и для профиля МШР 2.0, выбрав соответствующий файл из директории, в которую была установлена среда J2ME Wireless Toolkit 2.1 более поздней версии. Также существует возможность Выбора и других API, предоставляемых конкретным производителем телефонов, в том случае, если вы желаете использовать библиотеку сторонних производителей. В следующей главе будет рассмотрена установка и настройка различных телефонных эмуляторов и программного обеспечения для программирования телефонов разнообразных марок.
После монтирования файловой системы., необходимо также произвести монтаж директории, где будет содержаться исходный код созданного проекта. Монтаж директории происходит по той же схеме, что и монтаж файловой системы, но в выпадающем меню нужно выбрать команду Mount => Local Directory и в появившемся окне New Wizard - Local Directory указать место, где будет храниться исходный код программы, поле чего нажмите кнопку Finish. Создав рабочий каталог для приложения, его необходимо добавить в проект. Нажмите правой кнопкой мыши на только что добавленной директории во вкладке Файловые системы окна Explorer и в появившемся меню выберете команду Tools => Add to Project. Для каждого нового создаваемого проекта, необходимо произвести все выше описанные действия из раздела 3.2.2.
Создание приложений в SUN ONE Studio 4 Mobile Edition
Завершив создание проекта, можно переходить к написанию кода приложения. Для этого перейдите на закладку созданного проекта Demo, в окне Explorer и выберете команду меню File => New File, либ9 воспользуйтесь горячими клавишами Ctrl+N. На экране появится окно New Wizard, представленное на рис. 3.16, где происходит выбор шаблона создаваемого приложения.
Рис. 3.16. Окно New Wizard
В качестве создаваемой демонстрационной программы произведем выбор шаблона HelloMIDlet, который формирует код простой программы, имеющей название мидлет и позиционирующейся в Java 2 ME как приложение, написанное специально для мобильного устройства. В главе 5 будет дано подробное объяснение сути мидлета. Нажав на кнопку Next, вы попадете в следующее окно New Wizard - HelloMIDlet, где необходимо указать будущую директорию нахождения мидлета и задать имя пакету, либо воспользоваться стандартным пакетом, предоставляемым по умолчанию. На рис. 3.17 показано окно New Wizard -HelloMIDlet с выбранной директорией и пакетом по умолчанию.
Рис. 3.17. Окно New Wizard - HelloMIDIet
Указав пакет и выбрав директорию, нажмите на кнопку Finish. После этого будет автоматически сгенерирован простейший код примера HelloMIDlet проекта Demo, который появится в текстовом редакторе Source Editor, с правой стороны в свободном до этого времени пространстве главного окна среды SUN ONE Studio 4 Mobile Edition, представленного на рис. 3.18.
Рис. 3.18. Окно проекта Demo
Работа с кодом в текстовом редакторе Source Editor, осуществляется обычным образом, характерным практически для всех сред программирования.
Компиляция и запуск программ в SUN ONE Studio 4 Mobile Edition
В результате всех вышеперечисленных действий вы получили код простого примера HelloMIDlet выводящего на экран телефона информационную надпись Test string. Но сначала необходимо откомпилировать и собрать программу. Для компиляции исходного кода выберете в меню команду Build => Compile или используйте «горячую» клавишу F9. Откомпилировав рассматриваемый пример, произведите компоновку всего проекта путем выбора команды из меню Build => Build или нажмите клавишу F11. После этих действий у вас появится возможность запуска созданной программы на эмуляторе телефона предоставляемого средой программирования SUN ONE Studio 4 Mobile Edition. Для этого в меню выберете команду Debug => Start или воспользуйтесь сочетанием клавиш Alt+F5. После запуска откомпилированной и скомпонованной программы на экране появится эмулятор телефона изображенный на рис. 3.19.
Рис. 3.19. Эмулятор телефона, демонстрирующий работу примера HelloMIDIet
Эмуляторы телефона, существующие в составе SUN ONE Studio 4 Mobile Edition, представлены встроенной средой программирования J2ME Wireless Toolkit 1.0. Имеется несколько эмуляторов мобильных устройств:
DefaultColorPhone - простой телефон с цветным дисплеем; DefaultGrayPhone — телефон с монохромным дисплеем; MinimumPhone - телефон с минимальными техническими характеристиками; Motorola_i85s - эмулятор телефона i85s компании Motorola; PalmOS_Device - представляет устройство фирмы Palm; RIMJavaHandheld - представляет устройство фирмы Blackberry.
Чтобы подключить любой эмулятор из имеющегося списка для тестирования разработанной программы, необходимо выбрать вкладку Выполнение в окне Explorer, нажав на футуристический ключ с левой стороны каталога Device Emulator Registry, раскрыв тем самым ветку дерева этого каталога, показанную на рис. 3.20.
Рис. 3.20. Вкладка Выполнение Окна Explorer
Для того чтобы посмотреть доступные эмуляторы, откройте подкаталог Installed Emulators каталога Device Emulator Registry, нажав на ключик с левой стороны подкаталога. Раскрыв подкаталог Installed Emulators, вы увидите вложенную папку J2ME Wireless Toolkit 1.0, содержащую выше перечисленные в этом разделе эмуляторы. Для того чтобы выбрать эмулятор из папки J2ME Wireless Toolkit 1.0, щелкните правой кнопкой мыши на необходимом эмуляторе, например Motorola_j85s и в появившемся меню выберете команду Set As Default, назначив этот эмулятор текущим для данного проекта. Чтобы протестировать созданную программу на новом эмуляторе, запустите программу снова, выбрав в меню команду Debug => Start или используйте сочетание клавиш Alt+F5. На рис. 3.21 изображен эмулятор телефона i85s фирмы Motorola.
Рис. 3.21. Эмулятор телефона i85s
Впоследствии при установке эмуляторов и средств программирования сторонних производителей, можно подключать новые эмуляторы в инструментарий SUN ONE Studio 4 Mobile Edition. Для этого необходимо выбрать вкладку Выполнение в окне Explorer и нажать на ключ с левой стороны каталога Device Emulator Registry раскрыв ветку дерева этого каталога и правой кнопкой мыши щелкнуть на подкаталоге Installed Emulators. В появившемся меню выберете команду Add emulators. Затем появится диалоговое окно Select emulator installation directory, где нужно указать директорию, в которой установлен необходимый эмулятор, и нажать на кнопку Add. Некоторые производители телефонов позаботились об интеграции своих программных продуктов в среду SUN ONE Studio 4 Mobile Edition и на начальном этапе установке этих средств, можно указать, желаете ли вы встроить устанавливаемую программу в SUN ONE Studio 4 Mobile Edition или нет. В следующей главе будут рассматриваться множество программ от различных производителей, где мы обязательно рассмотрим возможность добавления эмуляторов в среду программирования SUN ONE Studio 4 Mobile Edition.
Среда программирования J2ME Wireless Toolkit 2.1
Программный продукт J2ME Wireless Toolkit 2.1 компании Sun Microsystems распространяется бесплатно и представляет упрощенную среду программирования. Механизм работы J2ME Wireless Toolkit 2.1 очень прост: вы создаете проект, размещаете файлы исходного кода в директории J2ME Wireless Toolkit 2.1 и компилируете весь проект. Файлы исходного кода могут быть написаны в любом текстовом редакторе. Потом запускаете готовое приложение на эмуляторах доступных в этой среде программирования и тестируете созданную программу.
Установка J2ME Wireless Toolkit 2.1
В папке \SDK находится файл j2me_wireless_toolkit-2_1-windows. Двойной щелчок на этом файле приведет вас в программу установки среды программирования J2МЕ Wireless Toolkit. В первом появившемся окне программы установки Java Virtual Machine Location, показанном на рис. 3.22, необходимо указать путь в директорию, где у вас установлена виртуальная Java машина.
Рис. 3.22. Окно программы установки Java Virtual Machine Location
Если при установке пакета Java 2 SDK SE, вы не изменяли директорию для виртуальной машины, то оставьте прописанный путь, указанный в окне программы установки Java Virtual Machine Location и нажмите кнопку Next. В следующем окне Choose Destination Location, изображенном на рис. 3.23, нужно выбрать место для установки среды программирования J2ME Wireless Toolkit 2.1.
Рис. 3.23. Окно Choose Destination Location
При задании директории нельзя прописывать путь с пробелами, а лучше оставить директорию по умолчанию, выбранную программой установки, иначе в последствии у вас возникнет масса проблем при компиляции исходных кодов. Нажав на кнопку Next в окне Choose Destination Location, подождите конца установки среды программирования J2ME Wireless Toolkit 2.1.
После установки программы, зайдите в меню ПУСК => Все программы => J2ME Wireless Toolkit 2.1 => KToolbar и у вас на экране появится рабочее окно J2ME Wireless Toolkit, показанное на рис. 3.24, где и происходит основная работа над проектами по созданию приложений для мобильных устройств.
Рис. 3.24. Рабочее окно J2ME Wireless Toolkit
Линейка меню среды программирования J2ME Wireless Toolkit, содержит четыре команды, щелкните мышей на названии любой из команд и вы откроете выпадающее меню. Каждое из выпадающих меню содержит ряд команд, разберем основные из них.
Меню File
New Project - создает новый проект; Open Project - открывает проект; Save Console - сохраняет информацию с консоли; Utilities - утилиты; Exit - выход.
Меню Edit
Preferences - свойства проекта; Clear Console - отчистить консоль.
Меню Project
Build - компиляция проекта; Clean - закрывает открытый проект; Run - запуск откомпилированной программы; Package - упаковка проекта; Debug - отладка; Settings - установки проекта.
Создание проекта в J2ME Wireless Toolkit 2.1
Рабочее окно среды J2ME Wireless Toolkit, выглядит на много проще чем SUN ONE Studio 4 Mobile Edition. Для создания нового проекта нажмите на панели инструментов кнопку New Project, либо выберете в меню команду File => New Project. В появившемся окне New Project, показанном на рис. 3.25, в поле Project Name дайте имя всему проекту, например Demo и в поле MIDlet Class Name, задайте название основному классу мидлета приложения.
Рис. 3.25. Окно New Project
Чтобы было понятно, о чем идет речь, забегая вперед, поясню: мидлет в Java 2 ME - это вся программа в целом, а с основного класса мидлета начинается работа всего приложения. Поэтому названия данное в поле MIDlet Class Name должно соответствовать названию основного класса мидлета, нельзя не задавать название основному классу мидлет либо использовать несуществующее название, иначе при компиляции возникнет масса ошибок. В главе 5, вы найдете более подробное объяснение модели работы и построения программ в Java 2 ME. При знакомстве с инструментарием SUN ONE Studio 4 Mobile Edition, был создан проект Demo, основной класс мидлета имел название HelloMIDlet; воспользуемся этим исходным кодом и дадим название классу мидлета HelloMIDlet в поле MIDlet Class Name, и нажмем после этого кнопку Create Project. Вслед за этим появится диалоговое окно Settings for project «Demo», показанное на рис. 3.26, где нужно произвести ряд установок для настройки нового проекта.
Диалоговое окно Settings for project «Demo» разделено на семь вкладок, в каждой из которых можно задавать различные установки для создаваемого проекта. Первая вкладка API Selection, изображенная на рис. 3.26, позволяет задавать конфигурацию и профиль создаваемого проекта. И здесь необходимо быть аккуратным: если вы планируете разрабатывать приложение только под профиль MIDP 1.0, то в поле Target Platform (выбор платформы), нужно указать соответствующий профиль.
Рис. 3.26. Диалоговое окно Settings for project «Demo»
Вторая вкладка Required (Атрибуты), изображенная на рис. 3.27, содержит мета информацию создаваемой программы в виде семи различных значений, которые можно устанавливать должным образом.
MIDlet -Jar - Size - размер всего создаваемого приложения; MIDlet -Jar - URL - местонахождение проекта; MIDlet - Name - имя проекта; MIDlet - Vendor - создатель программы; MIDlet - Version - версия программы; MicroEdition - Configuration - конфигурация; MicroEdition - Profile - выбранный профиль.
Вся заданная информация для мидлета будет находиться в JAD файле. По ходу работы над проектом имеется возможность изменения заданных атрибутов с помощью кнопки Settings на панели инструментов рабочего окна J2ME Wireless Toolkit 2.1. Подробно о файлах JAD и JAR будет рассказано в конце этой главы' в разделе 3.4. Все оставшиеся вкладки имеют различные дополнительные свойства и заданные на этих вкладках значения почти всегда можно оставлять по умолчанию. Нажав на, кнопку ОК после всех установок, в окне Settings for project «Demo» будет создан новый проект Demo.
Рис. 3.27. Вклакда Required
Среда программирования J2ME Wireless Toolkit 2.1, к сожалению, не имеет своего текстового редактора. Для создания исходного кода приложения вам необходимо написать код программы в любом удобном текстовом редакторе и поместить этот код в директории J2ME Wireless Toolkit 2.1. Как это делается? В тот момент, когда вы нажмете на кнопку ОК, в окне Settings for project -«Demo» будет создан новый проект, в нашем случае это Demo. А в консоли главного окна среды программирования J2ME Wireless Toolkit 2.1 появятся примерно следующие строки:
Creating project "Demo"
Place Java source files in "C:\WTK21\apps\Demo\src"
Place application resource files in
"C:\WTK21\apps\Demo\res"
Place application library files in
"C:\WTK21\apps\Demo\lib"
Из этих строк следует, что файлы исходного кода (это, как правило, файлы с расширением *.java), необходимо поместить в директорию C:\WTK21\apps\Demo\src. Файлы ресурсов, иконки, изображения и так далее помещаются в директорию C:\WTK21\apps\Demo\res; и файлы библиотек, если таковые используются в C:\WTK21\apps\Demo\lib. То есть, создав исходный код приложения в текстовом редакторе, просто сохраните код в директорию: C:\WTK21\apps\Demo\src. Кроме трех перечисленных папок, созданных в рабочем каталоге проекта Demo, будут автоматически сгенерированно ещё четыре папки:
bin - содержит файлы: jar, jad и файл манифеста. Более подробно об этих файлах рассказывается в разделе 3.4, где будет рассматриваться упаковка программ; classes - хранит проверенные откомпилированные классы; tmpclasses - хранит непроверенные откомпилированные классы; tmplib - временная папка для хранения фалов.
Компиляция и запуск программы в J2ME Wireless Toolkit 2.1
В качестве демонстрационного примера мы используем проект Demo, созданный автоматически SUN ONE Studio 4 Mobile Edition в разделе 3.2.3. Найдите исходный код HelloMIDlet проекта Demo в директории, которую вы задали для размещения программ в SUN ONE Studio 4 Mobile Edition или возьмите код HelloMIDlet с компакт диска в папке \Code\ HelloMIDlet, поместите его в директорию C:\WTK21\apps\Demo\src. Затем нажмите кнопку Build на панели инструментов для компиляции и компоновки всего проекта. В рабочее окно J2ME Wireless Toolkit 2.1, добавятся две строчки:
Building "Demo"
Build complete
Здесь я, конечно, исключаю возможность появления ошибок при компиляции, но в реальном программировании приложений без этого не обойтись, программист где-нибудь да забудет поставить точку с запятой. После компиляции и компоновки проекта, нажмите кнопку Run, и на экране появится эмулятор по умолчанию DefaultColorPhone, предоставляемый J2ME Wireless Toolkit 2.1 и изображенный на рис. 3.28.
Рис. 3.28. Эмулятор телефона DefaultColorPhone
На экран эмулятора будет выведено имя проекта, нажав на клавишу эмулятора Select или Launch, вы попадете в рабочий цикл программы, и на экране эмулятора появится надпись Test string. Нажав на клавишу Exit можно выйти из приложения. По окончанию работы эмулятора, в консоли рабочего окна J2ME Wireless Toolkit 2.1, появятся примерно следующие надписи:
Running with storage root DefaultColorPhone
Execution completed.
493084 bytecodes executed
57 thread switches
487 classes in the system (including system classes)
2844 dynamic objects allocated (92068 byte,s)
2 garbage collections (61976 bytes collected)
Это строки информационного характера, которые знакомят вас 6 произошедшими процессами в момент работы приложения. Для того чтобы протестировать созданную программу на других телефонных эмуляторах, необходимо в поле Device среды разработки приложений J2ME Wireless Toolkit 2.1, выбрать из списка нужный эмулятор. В составе J2ME Wireless Toolkit 2.1 имеются следующие эмуляторы телефонов:
DefaultColorPhone - простой телефон с цветным дисплеем; DefaultGrayPhone - телефон с монохромным дисплеем; MinimumPhone - телефон с минимальными техническими характеристиками; MediaControlSkin — простейший эмулятор телефона контролирующий воспроизведение звуков; QwertyDevice - портативное устройство с клавиатурой.
Также существует возможность интеграции телефонных эмуляторов, сторонних производителей, о чем будет рассказано в следующей главе.
Упаковка программ
При создании проекта и последующей компиляции исходного кода, у вас появятся два файла: JAD-файл и файл манифеста. Если вы работаете с Sun ONE Studio, то оба файла будут находиться в рабочем каталоге проекта. Если вы используете среду программирования J2ME Wireless Toolkit, то JAD-файл и файл манифеста будут помещены в папку \bin рабочего каталога приложения. Давайте отталкиваться от созданного в разделах 3.2.3 и 3.3.2 проекта Demo и мидлета HellpMIDlet. В этом случае в соответствующих директориях двух средах программирования будут находиться два файла: Demo.jad и MANIFEST.MF.
Файл манифеста
Файл манифеста MANIFEST.MF описывает возможные атрибуты создаваемого приложения. Откройте файл манифеста программы HelloMIDlet с помощью любого текстового редактора, например блокнота и вы увидите следующие строки:
MIDlet-1: Demo, Demo.png, HelloMIDlet
MIDlet-Name: Demo
MIDlet-Vendor: Unknown
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
Эти строки описывают атрибуты приложения. При создании проекта с J2ME Wireless Toolkit в разделе 3.3.2 этой главы упоминалось о диалоговом окне Settings for project «Demo» изображенном на рис. 3.26. Это окно разделено на семь вкладок, в каждой из которых указываются различные атрибуты создаваемого приложения. На основе заданных атрибутов в диалоговом окне Settings for project «Demo», и происходит генерация файла манифеста, а так же JAD-файла.
Файл JAD
Как уже упоминалось, в рабочем каталоге проекта «Demo» будет находиться еще один файл Demo.jad. JAD-файл в мобильных приложениях еще называют дескриптором приложения Qava Application Descriptor). Этот файл используется телефоном во время работы программы для получения информации об имеющихся классах, изображениях, пиктограммах и звуковых файлах всей программы. На основе полученной информации происходит управление внутренними ресурсами приложения. Если вы переместитесь в рабочий каталог проекта «Demo» и найдете сгенерированный файл Demo.jad, то увидите иконку в виде телефона с левой стороны от названия файла. Сделав двойной щелчок левой кнопкой мыши на файле Demo.jad, вы запустите эмулятор телефона вне зависимости от того, открыта ли в данный момент одна из сред программирования или нет. Это еще раз указывает на то, что JAD-файл используется для управления работой программы. Но есть и еще одна интересная особенность JAD-файла. Откройте файл Demo.jad с помощью любого текстового редактора и вы увидите следующие строки:
MIDlet-1: Demo, Demo.png, HelloMIDlet
MIDlet-Jar-Size: 30
MIDlet-Jar-URL: Demo.jar
MIDlet-Name: Demo
MIDlet-Vendor: Unknown
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
JAD-файл тоже содержит описание атрибутов приложения и они во многом дублируются в файле манифеста MANIFEST.MF. В программах Java 2 ME, JAD-файл - это дескриптор приложения и используется для управления работой программы. Сервис телефона перед запуском программы обращается именно к JAD-файлу, определяя тем самым возможность работы всей программы на этом телефоне. Если один из параметров будет не допустимым для этой модели телефона, то приложение не будет запущено. Например, телефон не поддерживает ту или иную версию конфигурации и профиля, или размер JAR-файл, больше допустимой памяти в телефоне выделенной для Java программ (правда в этом случае вы вообще не сможете загрузить приложение в телефон).
Файл JAR
В языке Java существует возможность архивации файлов приложения в один файл с расширением *.jar. Файл JAR - это архив, содержащий сопутствующие классы и графические изображения всего приложения. JAR-архив основан на обыкновенном zip-формате, использующемся повсеместно. При написании программ на Java под различные компьютерные операционные системы, программист волен сам выбирать, будет ли он распространять свое приложение в заархивированном виде или в оригинальном. Ситуация с распространением-переносом программ под мобильные телефоны радикально противоположная. Телефоны ограничены в своих ресурсах и в среднем память, отведенная под Java программу, колеблется от 30 до 80 килобайт. Эти цифры обязательно надо учитывать при создании мобильных приложений. Размер в 40-50 килобайт считается оптимальным. В связи с этим все мобильные программы обязаны распространяться в заархивированном виде, то есть в JAR-файле. Написав программу для телефона необходимо ее упаковать в jar-архив. Вернемся к примеру HelloMIDlet проекта Demo и рассмотрим на практике создание JAR-файла.
При использовании Sun ONE Studio 4 Mobile Edition создание JAR-файла происходит автоматически после компиляции и компоновки всего проекта и созданный архив помещается в рабочий каталог.
В среде J2ME Wireless Toolkit 2.1 после компиляции исходного кода необходимо произвести явную упаковку программы. Выберете в меню среды J2ME Wireless Toolkit опцию Project => Package => Create Package. На несколько секунд в рабочем окне появится небольшое диалоговое окно, показывающее процесс упаковки программы в JAR-файл. После чего в каталоге проекта Demo в папке \Ып появится файл Demo.jar. А теперь перейдите в рабочий каталог проекта Demo и найдите сформированный архив Demo.jar. Затем воспользуйтесь любым архиватором, поддерживающим zip-формат, например WinRar или WinZip и откройте файл Demo.jar. Вы увидите файл HelloMIDlet.class и папку META-INF, открыв которую обнаружите файл манифеста MANIFEST.MF.
Что происходит при создании архива? В момент упаковки приложения в JAR-файл, происходит копирование всех имеющихся откомпилированных и проверенных классов и графических изображений (если таковые имеются) и размещение их в JAR-файл, то есть происходит архивация всей программы. В рассматриваемом примере HelloMIDlet существует всего один класс, но если программа имеет большое количество классов, то все они помещаются в JAR-файл. Также происходит копирование файла манифеста MANIFEST.MF в папку META-INF. После упаковки в рабочем каталоге приложения будут находиться два файла с расширением JAR и JAD и именно в таком виде можно перенести программу в мобильный телефон посредством Интернета или компьютера связанного с мобильным телефоном любым из способов. Все приложения и игры, написанные на Java 2 ME, распространяются именно таким образом. Файл с расширением JAR содержит упакованную программу, а файл с расширением JAD описывает содержимое JAR-файла. При загрузке программ в телефон необходимо указывать путь к JAD файлу, то есть дескриптору приложения и на основании атрибутов JAD-файла происходит работа Java программы. Единственное исключение - это телефоны марки Siemens. При загрузке программ в телефон этой марки нужно указывать путь к JAR-файлу, о чем подробно будет рассказано в следующей главе, в которой будет рассматриваться программное обеспечение, поставляемое производителями мобильных телефонов для эмуляции работы мобильных телефонов различных моделей.