KnigaRead.com/

Автор неизвестен - Платформа J2Me

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Автор неизвестен, "Платформа J2Me" бесплатно, без регистрации.
Перейти на страницу:

Не имеющие соединения устройства, такие, как мобильные телефоны, обычно не имеют встроенной в них среды разработки. Не имея среды разработки на самом устройстве, разработчики вынуждены делать межплатформенную разработку — разрабатывать приложение на другой системе, загружать его на устройство и затем тестировать его там. То, что приходится постоянно загружать приложение в процессе разработки на устройство для того, чтобы протестировать его, делает процессы разработки и тестирования трудоемкими и утомительными. Эмуляторы представляют альтернативный вариант. Они имитируют среду исполнения устройства и позволяют вам выполнять полный цикл разработки на другой системе. Эмуляторы предоставляют среду, которая поддерживает редактирование, компиляцию, выполнение и отладку. Такая среда является более благоприятной, поскольку она позволяет вам избегать периодически повторяющихся циклов загрузки и установки на устройство. Она также позволяет вам избегать проблемы наполненных ошибками программ, разрушающих ваше мобильное устройство.

Различные производители мобильных устройств и разработчики комплектующего оборудования предлагают эмуляторы, которые запускаются на стандартных настольных операционных системах. Отдел «Java Software» компании «Sun Microsystems», например, предлагает инструментарий J2ME Wireless Toolkit (J2MEWTK), который запускается на платформах Windows и Unix. Он содержит эмулятор, компилятор, виртуальную машину, библиотеки классов и другие полезные инструменты разработки. Вы можете загрузить его бесплатно с сайта http://java.sun.com.

Процесс разработки приложений на J2ME является в значительной степени идентичным процессу разработки обычных программ на Java с некоторыми небольшими отличиями. Процесс разработки приложения состоит из следующих этапов:

1. Проектирование и кодирование — написание программы.

2. Компилирование — компилирование программы с помощью стандартного компилятора J2SE Java.

3. Предварительная проверка — выполнение предварительной проверки обработки классов Java до упаковки: проверка использования операций с плавающей точкой и методов завершения в классах Java.

4. Упаковка — создание архивного файла JAR, содержащего ресурсы приложения, создание файла описания приложения, содержащего метаинформацию о приложении.

5. Раскрытие — распаковка и размещение ресурсов приложения под контролем эмулятора.

6. Выполнение — запуск приложения с использованием эмулятора.

7. Отладка — нахождение и выделение ошибок в программе и внесение исправлений в исходный код.


Стадии предварительной проверки и упаковки являются новыми и уникальными для процесса создания приложений J2ME и будут кратко пояснены.

Вы можете выполнить все вышеупомянутые этапы вручную, используя командный процессор или версии с командной строкой инструментов разработки. В этой главе я сначала покажу вам каждый этап, используя только инструменты с командной строкой, так что вы сможете понять, как работает этот процесс в общем. Поэтому я использую эмулятор инструментария J2ME Wireless Toolkit, разработанный «Java Software».

Между прочим, примеры с использованием командной строки, показанные в этой книге, используют синтаксис оболочки Unix, поддерживаемый оболочкой bash проекта GNU. С учетом нескольких изменений синтаксиса примеры являются абсолютно подходящими к исполнению с помощью приглашения на ввод команды Microsoft Windows MS-DOS.

Я не описываю здесь исходный код, поскольку эта глава сконцентрирована на том, чтобы показать, как заставить пройти абсолютно надежное CLDC/MIDP-приложение через весь цикл разработки. В главе 3 я начну анализировать код, чтобы показать вам модель программирования и абстракции инструментария и объяснить принципы работы важнейших неотъемлемых частей приложения.

В рамках проекта GNU разрабатываются сотни утилит и приложений в стиле Unix. Они были приспособлены для запуска на множестве операционных систем, включая Windows. Эти инструменты включают все: от утилит, командных процессоров, компиляторов, компоновщиков и инструментов управления исходными кодами Unix до приложений, таких, как программы просмотра PostScript, текстовой редактор Emacs и профессиональные приложения обработки изображений, и это лишь несколько примеров.

Ресурсы GNU находятся под покровительством «Free Software Foundation» (FSF). Вы можете найти информацию о проекте GNU и «Free Software Foundation» на Web-сайте Free Software Foundation, расположенном по адресу http://www.fsf.org.


Проектирование и кодирование

Прежде чем вы приступите к самому циклу разработки, вы должны сначала создать структуру директорий, которая будет поддерживать разработку вашего набора MID-летов. Набор MID-летов — это комплект MID-летов, которые используют общие ресурсы приложений. Вы получите более подробную информацию об этих общих ресурсах MID-летов в следующих главах книги.

Я сначала создаю директорию под названием HelloWorld, что является названием примера нашего первого приложения, под директорией apps/, предназначенной для установки инструментария для работы с беспроводными устройствами. Эта директория является корневой для вашего нового проекта. Проект — это организованное объединение ресурсов — исходного кода, файлов ресурсов, откомпилированных файлов, — специфических для одного или более связанных приложений.

Корневой каталог проекта содержит подкаталоги, показанные в следующем примере кода:


$ pwd

/cygdrive/c/ J2rnewtk/apps/HelloWorld

3 Is — F

bin/ classes/ res/ src/ tmpclasses/


Есть причина для использования такой точной структуры каталогов, которую я объясню далее, когда вы узнаете, как использовать эмулятор Wireless Toolkit Emulator. Однако даже если вы не планируете использовать J2ME Wireless Toolkit, такая организационная структура является самой разумной для начала работы. В таблице 2.1 объяснено содержание и цель этих каталогов.


Таблица 2.1. Поддиректории проектов, созданных с помощью J2ME Wireless Toolkit


Название поддиректории — Содержание директории

Bin — Файлы приложения: файл. jar, файл. jad, MANIFEST.MF

classes — Откомпилированные и предварительно проверенные файлы. class

Res — Файлы ресурсов приложения, такие, как файлы изображений. png в формате PNG

Src — Файлы исходного приложения

tmpclasses — Откомпилированные, непроверенные файлы. class


Я не буду объяснять здесь проектировку самого приложения, поскольку эта тема лежит за пределами темы этой главы. Цель на данный момент заключается не в том, чтобы описать, как проектировать приложения Java или даже приложения MIDP. В последующих главах, однако, будет говориться об организации MIDP-приложений.


Компиляция

Следующим этапом в цикле разработки после создания вашей программы является компиляция исходной программы. Прежде чем вы приступите к компиляции, убедитесь, что список командных путей среды вашей оболочки включает маршрут к директории, в которой содержатся утилиты J2ME на вашем компьютере.

Общая форма строки компиляции представляет из себя следующее:


S javac — d <tmpclasses dir> — bootclasspath <midpapi.zip location>

<location of Jva sourcce fie(s)>


Указание — d сообщает компилятору директорию, в которую нужно записывать непроверенные откомпилированные классы. Указание — bootclasspath указывает местоположение файла midpapi.zip, который поставляется вместе с инструментарием J2ME Wireless Toolkit, разработанным «Java Software», и содержит все классы MIDP, которые вам необходимы для написания приложений на J2ME. Среды разработки коммерческих производителей также включают этот файл. Указание — bootclasspath также сообщает компилятору о превосходстве над любой спецификацией CLASSPATH, которую вы, возможно, установили в среде своей оболочки. Заметьте, что это должен быть относительный маршрут доступа к файлу (relative pathname,) — относительный к корневой директории проекта. Наконец, вы указываете имена путей исходных файлов Java, которые вы компилируете.

Чтобы откомпилировать набор MID-летов HelloWorld из директории apps/HelloWorld/, используйте следующую команду:


$ javac — d tmpclasses

— bootclasspach../../lib/midpapi.zip src/HelloWorld.Java

$


Указание — d сообщает компилятору записать непроверенные компилированные классы в директорию tmpclasses, которая является поддиректорией каталога HelloWorld/. Указание — bootclasspath определяет путевое имя относительно данного каталога. Наконец, последний параметр указывает относительное путевое имя исходного файла HelloWorld.Java.

Вы узнали, что библиотеки MIDP и CLDC определяют полную платформу для создания приложений на MIDP. Следовательно, вам не придется включать путь для любой J2SE установки в CLASSPATH вашей среды при компилировании ваших приложений. В действительности вы не можете включить его. Если вы это сделаете, вы получите ошибку компиляции, поскольку компилятор найдет конфликтующие определения в библиотеках J2SE и J2ME.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*