Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #53, АПРЕЛЬ 2005 г.

Телефонное программирование

Филипп Коряка

Спецвыпуск: Хакер, номер #053, стр. 053-064-4


\tmplib - используется совместно с \lib.

Пишем первый мидлет

Повторю, что исходные коды мидлета находятся в директории WTK\apps\your_project_name\src\. С помощью любого редактора текстов нужно создать в этой папке файл с именем, совпадающим с именем мидлета. Если ты уже забыл название своего мидлета, просто нажми в KToolbar кнопку Build и жди сообщения о том, что не удается найти файл "твой_мидлет.java". Это и есть заветное имя. Вот текст HelloWorld-мидлета и мои комментарии к нему:

// Импортируем классы J2ME

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

public class HelloMidlet extends MIDlet

implements CommandListener{

// Дисплей для твоего мидлета

private Display midletDisplay;

// Команда для выхода из мидлета

private Command exitCommand;

public HelloMidlet(){

// Получаем доступ к дисплею

midletDisplay = Display.getDisplay(this);

// Инициализируем команду exitCommand

exitCommand = new Command("Exit", Command.SCREEN, 1);

}

// Этот метод вызывается при запуске мидлета

public void startApp(){

// Создаем текстовое поле с заголовком "Hello Midlet" и текстом "Hello World!"

TextBox textBox = new TextBox("Hello Midlet", "Hello World!", 256, 0);

// Добавляем ранее созданную команду exitCommand к текстовому полю

textBox.addCommand(exitCommand);

// Устанавливаем обработчик комманд

textBox.setCommandListener( (CommandListener) this);

// Отображаем на дисплее текстовое поле

midletDisplay.setCurrent(textBox);

}

// Этот метод вызывается в случае приостановки выполнения мидлета

public void pauseApp(){

}

// Этот метод вызывается при завершении работы мидлета

public void destroyApp(boolean unconditional){

}

// Тут происходит обработка команд

public void commandAction(Command command, Displayable screen){

// Если команда exitCommand

if (command == exitCommand){

// Вызываем destroyApp

destroyApp(false);

// Сообщаем платформе о завершении мидлета

notifyDestroyed();

}

}

}

После запуска этого мидлета на экране телефона появится текстовое поле, содержащее текст "Hello World!". Также покажется команда Exit, выбрав которую можно выйти из мидлета. Пример, конечно, тривиальный, но он демонстрирует общий принцип построения мидлетов.

Компилируем мидлет

Все не так уж и сложно: в KToolbar жмем кнопку Build, пережидаем одно мгновение (ну или не совсем мгновение, если исходники твоего мидлета уже занимают несколько сотен килобайт) и с радостью встречаем скомпилированный мидлет. После этого можно будет приступать к сборке приложения, для чего выполняется команда Project->Package->Create Package. Результатом будут jar- и jad-файлы в директории bin, которые можно смело закачивать в телефон или запускать в эмуляторе.

jar-файл представляет собой архив с классами твоего мидлета. Кстати, его можно разархивировать обычным zip'ом.

jad-файл является обычным текстовым файлом и содержит информацию о мидлете. В нем, например, содержится название мидлета, имя производителя, указание версии и т.д. Иногда там содержится более полезная информация. Например, при использовании Push Registry там можно найти сведения о том, с какими данными следует проассоциировать данный мидлет.

Назад на стр. 053-064-3  Содержание  Вперед на стр. 053-064-5