На рисунке 2.11 представлено главное окно программы управления приложениями, которое вы можете увидеть на реальном устройстве. Оно дает вам возможность выбрать MID-лет, который вы хотите выполнить. Обычно вы запускаете систему AMS из меню на вашем мобильном устройстве.
![Платформа J2Me _12.jpg](https://litlife.club/books/121163/read/images/_12.jpg)
Рисунок 2.11. Главное окно AMS дает вам возможность выбрать MID-лет, который вы хотите выполнить. Если более одного MID-лета присутствуют в наборе MID-летов, вы увидите список их всех. Заметьте, что кнопка Launch (Запуск) предоставляется системой AMS
На рисунке 2.12 показан дисплей после того, как вы выберете пункт HelloWorld, указанный в списке на дисплее. Это и есть окно, показываемое MID-летом.
Рисунок 2.12 является тем же, что и рисунок 3.1. В главе 3 описывается исходный код приложения HelloWorld и его варианты в деталях. В этой главе я описываю только процесс разработки приложения.
На рисунке 2.13 показано главное окно эмулятора J2MEWTK после того, как вы завершите эмуляцию MID-лета HelloWorld. Заметьте, что оно выводит некоторую диагностическую информацию о процессе эмуляции.
![Платформа J2Me _13.jpg](https://litlife.club/books/121163/read/images/_13.jpg)
Рисунок 2.12. Это единственное окно, показываемое приложением HelloWorld. Заметьте, что здесь нет кнопки выхода из приложения. Вы можете нажать на красную кнопку Hang Up (Отбой), чтобы вернуться к главному окну AMS
Важно запускать ваши MID-леты с помощью различных устройств в эмуляторе, чтобы облегчить обнаружение и понимание проблем, связанных с мобильностью. Каждое устройство имеет уникальные размеры дисплея, кнопки, поддержку экранных клавиш и так далее. Кроме того, существуют другие проблемы мобильности, с учетом которых, вероятно, ни один эмулятор не может предоставить реалистичную среду устройства для всех устройств. Например, программные средства собственной платформы каждого устройства имеют различную поддержку временных зон, местной специфики, коммуникационного протокола и так далее. Вы узнаете об этих областях далее в книге.
![Платформа J2Me _14.jpg](https://litlife.club/books/121163/read/images/_14.jpg)
Рисунок 2.13. Эмулятор выводит результат диагностики на консоль
Тестирование ваших приложений в эмуляторе является важным первым шагом. Однако этого недостаточно, чтобы быть уверенным в правильной работе и мобильности, и никогда нельзя заменять этим тестирование на реальном устройстве. Создание ваших приложений мобильными — ключ к их успеху.
Процесс разработки приложений на J2ME включает компиляцию, предварительную проверку, упаковку, раскрытие и выполнение.
Вы компилируете ваши MIDP-приложения с помощью стандартного компилятора J2SE. Новая утилита предварительной проверки создает проверенные файлы. class, которые могут быть интерпретированы как KVM, так и стандартной виртуальной машиной J2SE.
Эмуляторы являются важными инструментами при разработке приложений для мобильных устройств. Они дают вам возможность проделывать начальное тестирование без вынужденного использования настоящего устройства. Это, в частности, важно для тестирования логической правильности ваших приложений, поскольку среды тестирования и отладки недоступны на настоящих устройствах. Однако эмуляторы не являются заменителями тестирования на реальных устройствах. Вы должны протестировать каждый аспект приложения на реальном устройстве до его выпуска как готового продукта.
Инструментарий J2ME Wireless Toolkit содержит инструменты разработки приложений и эмулирования, которые дадут вам возможность выполнять все этапы процесса разработки, а именно: компилирование, предварительную проверку, упаковку, раскрытие и выполнение.
Глава 3. Программная структура приложений MIDP
В этой главе вы узнаете о базовых абстракциях и модели программирования, которые определяются MIDP. Необходимо понять базовую модель программирования MIDP для того, чтобы писать приложения в MIDP. Вы должны также знать абстракции, определяемые компонентами пользовательского интерфейса (UI), для того чтобы создавать пользовательские интерфейсы с помощью MIDP. Прежде чем мы взглянем на исходный код, однако, вы должны сначала изучить жизненный цикл выполнения MID-лета.
Здесь приведен пример этапов, включаемых в выполнение приложения:
1. Запуск эмулятора. Вы увидите появившееся окно, которое имитирует интерфейс устройства. Если вы используете J2MEWTK версии 1.0.2, вы заметите, что эмулятор просто выполняет приложение HelloWorld, потому что это единственное приложение, присутствующее в наборе. На рисунке 3.1 показано главное окно выполнения этого MID-лета. Однако, если у вас J2MEWTK версии 1.0.3, вы увидите список выбора из всех MID-летов, даже если он у вас один.
2. Добавьте вторую версию программы, названную HelloWorld2, к набору MID-летов. Вы можете начать этот процесс, нажав на кнопку Settings… (Параметры…) на основном окне инструментария, которое вы видели на рисунке 2.5. Во-первых, напишите исходный код и затем поместите его в директорию проекта srс /. Добавьте его к набору MID-летов, выбрав закладку MIDlets (MID-леты) в окне параметров проекта. На рисунке 3.2 показано окно конфигурации после добавления нового MID-лета.
![Платформа J2Me _15.jpg](https://litlife.club/books/121163/read/images/_15.jpg)
Рисунок 3.1. Этот MID-лет запускается с помощью используемого по умолчанию цветного телефона, предоставляемого инструментарием. Обратите внимание на название MID-лета
![Платформа J2Me _16.jpg](https://litlife.club/books/121163/read/images/_16.jpg)
Рисунок 3.2. Добавьте новые MID-леты к набору с помощью закладки MIDIets (MID-леты) в окне Settings (Параметры)
3. Теперь создайте проект и затем выполните его. В это время вы увидите окно, показанное на рисунке 3.3. Заметьте, что теперь вы видите меню, которое показывает названия обоих MID-летов, находящихся в наборе MID-летов. Поскольку присутствует более одного MID-лета, который можно выполнить, AMS должна вывести меню и позволить вам выбрать тот, который вы хотите запустить. Конечно, эмулятор здесь принимает на себя роль AMS реального устройства.
На реальном устройстве AMS устройства показывает это меню. Например, телефоны Motorola и Siemens используют стандартные списки выбора, которые позволяют вам выбрать сначала AMS, затем набор MID-летов и, наконец, MID-лет. На чужих рынках (в Японии, например) телефоны могут иметь кнопку, помеченную «Web», которая запускает AMS и автоматически запускает Web-браузер, созданный на Java. Перечисленные MID-леты — это те, которые известны AMS.
Когда вы добавляете MID-лет к набору, вы сообщаете инструментарию, что вы хотите, чтобы новый MID-лет был доступен для выполнения. Когда вы создаете MID-лет, инструментарий размещает его файлы. class в файле JAR набора MID-летов и обновляет файлы манифеста и JAD. Этот порядок действий осуществляется в согласии со спецификацией J2ME, которая, как вы помните, требует, чтобы МID-леты содержались в файле JAR.
4. Выберите MID-лет HelloWorld и затем нажмите на экранную кнопку Launch (Запуск), чтобы выполнить его. На рисунке 3.4 показано одно окно, которое он создает и показывает.