Как стать автором
Обновить

Программирование с J2ME. Intro

Если я получу инвайт, то этой статьей откроется серия материалов для желающих творить на J2ME (:

Итак, %username%, ты хочешь наполнить свой телефон выхлопами продуктами своего творчества? Я попытаюсь доступно рассказать тебе как.



0. Необходимые вещи
* Телефон с Java
Запускать ваши порождения на эмуляторе — это круто, но ничто не заменит гордости от запуска хелловорлда на телефоне.
Если нет телефона, попросите знакомых (:
* Компьютер
Тут никаких специальных требований. Даже OS X подойдет.
Если нет компьютера…
* Софт
Тут остановимся поподробней. Поскольку мы не принадлежим к тем индивидуумам, которые будут использовать Блокнот и KToolbar, нам понадобится IDE. Все примеры я буду описывать на NetBeans 6.1 от Sun. Вы же можете поставить Eclipse, IntelliJ IDEA или еще чего.
Установка:
* Качается и устанавливается Sun JDK (здесь)
* Sun WTK… да, качается и устанавливается (: (по этой ссылке)
* Качается и устанавливается NetBeans (отсюда, выбирайте сборку «Mobility» или «All»)
* Набор библиотек DirectHands и CodersBrain.

1. Hello Phone!
Давайте сначала все сделаем, а потом попытаемся понять, как оно работает (:

Создаем проект:
File > New Project…
Выбираем проект MIDP Application из категории Mobility
На следющем шаге вгоняем имя проекта и расположение. Чекбокс «Create Hello Midlet» нужно снять, чтобы не подключать визуальный редактор нетбинса.
Далее, выбираем эмулятор, конфигурацию и профиль. Выбирайте MIDP 2.0. Устройств с поддержкой 2.1 я лично не встречал.

Создав проект, создайте класс мидлета:
File > New File, шаблон Midlet из категории MIDP

Собственно, можно писать код мидлета, чем и займемся
import javax.microedition.midlet.*; // пакет с базовым классом MIDlet
import javax.microedition.lcdui.*; // пакет со стандартным GUI телефона

public class Midlet extends MIDlet {

private Form m_form;
private Display m_disp;

public void startApp() {
m_disp=Display.getDisplay(this);
m_form=new Form("Hello Phone!");
m_form.append("HELLO!!!11");
m_disp.setCurrent(m_form);
}

public void pauseApp() {
}

public void destroyApp() {
}
}


image

Разберем методы класса по порядку:
startApp вызывается при запуске мидлета или возвращении из приостановленного состояния (SUSPENDED)
pauseApp вызывается при переходе мидлета в состояние SUSPENDED (на телефон позвонили, или приложение свернули).
destroyApp вызывается при остановке мидлета.

В методе startApp() мы
1) получаем ссылку на дисплей, где выполняется наш мидлет (Display.getDisplay(MIDlet))
2) создаем форму (о lcdui, формах и других элементах управления — в следующей части)
3) добавляем на нее надпись (Form.Append(String))
4) помещаем ее на дисплей (Display.setCurrent(Displayable))

Жмем F6 и лицезреем наше приложение в эмуляторе (:
image
Можно вытащить из [project folder]/dist jar и закачать на телефон.

В следующей статье постараюсь рассказать про lcdui, формы, элементы управления и реализацию событий.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.