Если я получу инвайт, то этой статьей откроется серия материалов для желающих творить на 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
Собственно, можно писать код мидлета, чем и займемся

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

Можно вытащить из [project folder]/dist jar и закачать на телефон.
В следующей статье постараюсь рассказать про lcdui, формы, элементы управления и реализацию событий.
Итак, %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() {
}
}

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

Можно вытащить из [project folder]/dist jar и закачать на телефон.
В следующей статье постараюсь рассказать про lcdui, формы, элементы управления и реализацию событий.