Я не описываю здесь исходный код, поскольку эта глава сконцентрирована на том, чтобы показать, как заставить пройти абсолютно надежное 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 — bootclasspath \
Указание — d сообщает компилятору директорию, в которую нужно записывать непроверенные откомпилированные классы. Указание — bootclasspath указывает местоположение файла midpapi.zip, который поставляется вместе с инструментарием J2ME Wireless Toolkit, разработанным «Java Software», и содержит все классы MIDP, которые вам необходимы для написания приложений на J2ME. Среды разработки коммерческих производителей также включают этот файл. Указание — bootclasspath также сообщает компилятору о превосходстве над любой спецификацией CLASSPATH, которую вы, возможно, установили в среде своей оболочки. Заметьте, что это должен быть относительный маршрут доступа к файлу (relative pathname,) — относительный к корневой директории проекта. Наконец, вы указываете имена путей исходных файлов Java, которые вы компилируете.
Чтобы откомпилировать набор MID-летов HelloWorld из директории apps/HelloWorld/, используйте следующую команду:
Читать дальше