На реальном устройстве 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 показано одно окно, которое он создает и показывает.

Рисунок 3.3. Если доступно более одного MID-лета, AMS выводит меню, показывая вам их все. AMS, а не ваше приложение, создает кнопку Launch (Запуск). Вы должны нажать на нее, чтобы запустить выбранный МЮ-лет

Рисунок 3.4. Главное окно этого приложения содержит название и одну строчку текста

Нажмите на красную кнопку с трубкой («hang up» — «отбой») на эмуляторе и вы вернетесь в главное окно AMS. Закрыв окно эмулятора, вы завершите его работу. Теперь вы закончили полный жизненный цикл выполнения приложения. Далее в этой главе вы узнаете больше о деталях жизненного цикла MID-лета и модели состояний MID-лета.

Программная cтpyктypa MID-лета

Теперь, когда. вы изучили жизненный цикл приложения, наступило время взглянуть на исходный код простого MID-лета. Вы, возможно, уже догадались, что я собираюсь начать с показа наипростейшего MID-лета — MIDP-версии все той же злополучной программы «HelloWorld». В листинге 3.1 показан исходный код для первой версии MID-лета HelloWorld.

Листинг 3.1. Это MIDP-версия знакомой вам программы HelloWorld

import javax.microedition.lcdui.Display;

import javax.microedition.lcdui.Displayable;

import javax.microedition.lcdui.Form;

import javax.microedition.midlet.MIDlet;

/**

Создание программы «Hello world» в J2ME MIDP.

Обратите внимание, что класс должен быть открытым, для того чтобы программа

управления приложениями устройства могла создать его экземпляр.

*/

public class HelloWorld extends MIDlet

{

// Displayable. Этот компонент отображается на экране, private Form form;

// Display. Этот объект управляет всеми компонентами

// Displayable.

private Display display;

// Открытый конструктор no-arg необходим, даже хотя система

// вызывает startAppO! AMS вызывает конструктор

// no-arg класса для создания экземпляра класса.

// Либо создайте открытый конструктор no-arg, либо

// объявите об отсутствии конструкторов и позвольте

// компилятору создать открытый конструктор no-arg. public HelloWorldO

{

super (); I

public void destroyApp(boolean destroy)

form = null;

notifyDestroyed();

}

public void pauseAppO

}

public void startApp()

// Создайте элемент Displayable. form = new Form (."Hello, World");

// Добавьте строку в форму. String msg = "My first MIDlet!"; form.append(msg);

// Это приложение просто выводит на экран одну форму, созданную выше.

display = Display.getDisplay (this);:

display.setCurrent(form);

}

}

Перейти на страницу:

Похожие книги