Платформа J2Me
Шрифт:
Рисунок 1.3.CDC предназначена для стационарных устройств с фиксированным соединением и общим доступом. CLDC предназначена для персональных мобильных устройств с ограниченным соединением
Все приложения J2ME — MID-леты и другие — являются настоящими приложениями Java, которые запускаются под контролем Java VM. Но что контролирует Java VM, например, на мобильном телефоне? Не существует командного процессора, с которого вы можете активизировать ваши любимые приложения Java, как вы можете сделать на рабочей станции. Запуск,
Производители устройств обычно предоставляют программное обеспечение AMS. Это самый логичный сценарий, потому что программное обеспечение AMS должно работать вместе с программным обеспечением родной системы устройства, которую, по всей видимости, производитель знает лучше всего. Тем не менее, производители комплектующего оборудования также могут разрабатывать системы AMS для определенных устройств. Программное обеспечение AMS может быть написано, например, в Java или некоторых других машинных языках, таких, как С. Понимание вопросов, связанных с управлением приложениями, важно для разработчика на J2ME. Управление приложениями описывается в главе 10. Вы должны знать о последствиях вашего выбора в отношении упаковки, лицензирования, загрузки для использования и так далее, и как эти решения повлияют на удобство, простоту использования и жизнеспособность вашего программного обеспечения.
Платформа J2ME предназначена для двух классов портативных компьютерных устройств. Первый класс состоит из стационарных устройств с фиксированными сетевыми соединениями, таких, как компьютерные приставки к телевизору. Второй класс состоит из персональных мобильных устройств с нестационарной сетевой связью, таких, как «карманные» компьютеры, мобильные телефоны и так далее.
Различные комбинации конфигураций и профилей J2ME поддерживают эти классы устройств. Конфигурация CDC и профиль Foundation поддерживают первый класс устройств, а конфигурация CLDC и профиль MIDP поддерживают второй класс. Конфигурация стремится предоставлять интерфейсы для служб системного уровня. Профиль стремится предоставлять стандартные интерфейсы для служб уровня приложений. Конфигурация дает возможность работы профиля, предоставляя необходимые средства и механизмы. Устройства должны иметь некую систему управления приложениями (AMS), чтобы «самозапустить» процесс инициализации приложений J2ME на устройствах. Производитель устройства обычно предоставляет AMS.
Глава 2. Процесс разработки приложений MIDP
Как вы уже знаете, приложения J2ME являются программами Java и исполняются под управлением виртуальной машины Java. По этой причине все устройства с J2ME должны поддерживать среду исполнения Java. Приложения MIDP, как и любые другие приложения, проходят цикл разработки. В этой главе рассказывается о цикле и процессе разработки МID-приложений.
Не имеющие соединения устройства, такие, как мобильные телефоны, обычно не имеют встроенной в них среды разработки. Не имея среды разработки на самом устройстве, разработчики вынуждены делать межплатформенную разработку — разрабатывать приложение на другой системе, загружать его на устройство и затем тестировать его там. То, что приходится постоянно загружать приложение в процессе разработки на устройство для того, чтобы протестировать его, делает процессы разработки и тестирования трудоемкими и утомительными. Эмуляторы представляют альтернативный вариант. Они имитируют среду исполнения устройства и позволяют вам выполнять полный цикл разработки на другой системе. Эмуляторы предоставляют среду, которая поддерживает редактирование, компиляцию, выполнение и отладку. Такая среда является более благоприятной, поскольку она позволяет вам избегать периодически повторяющихся циклов загрузки и установки на устройство. Она также позволяет вам избегать проблемы наполненных ошибками программ, разрушающих ваше мобильное устройство.
Различные производители мобильных устройств и разработчики комплектующего оборудования предлагают эмуляторы, которые запускаются на стандартных настольных операционных системах. Отдел «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-летов в следующих главах книги.