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

Знакомимся с Java ME

Здравствуйте, жители Хабра! Сегодня Вы познакомитесь со всеми забытой платформой Java ME, а так же напишете классический Hello World. Если Вы заинтересовались — прошу под кат.
Изначально платформа называлась Java 2 Micro Edition, но потом разработчики переименовали её, и стала она называться Java Micro Edition.
Платформа наиболее известна тем, что практически любой мобильный телефон имеет виртуальную машину Java ME, и, когда люди не знали, что такое сенсорный телефон, было написано великое множество игр и приложений, которые Вы, может быть, используете и по сей день. По крайней мере, в одном я точно уверен: Opera Mini будет жить ещё долго :-) На самом деле Java ME используется не только в мобильниках, но и в проигрывателях Blu-ray дисков, КПК, и даже в ресиверах цифрового телевидения.
В связи с приходом новых технологий, Java ME постепенно стала отходить на второй план, а затем и вовсе ушла в тень. Теперь всюду царствуют Android и IOS, но все же многие люди до сих пор пользуются простыми звонилками от таких фирм как Nokia, Samsung и так далее. Поэтому я хочу внести свой вклад в оживление Java ME, и, хотя уже не свергнуть таких гигантов как Android, может быть кто-то все же вспомнит старые добрые времена и разомнет пальцы, написав для своего телефона какую-нибудь игру just for fun.

Итак, приступим к написанию Hello World'a.


Что нам понадобится:
  • JAVA ME SDK, скачать можно тут
  • IDE или любой текстовый редактор

Я не буду заострять Ваше внимание на установке и настройке необходимого ПО, так как, я думаю, Вы и сами вполне справитесь.
Для начала надо сказать, что по синтаксису Java ME ничем не отличается от обычной джавы, так что если вы знакомы с Java SE, то проблем у Вас возникнуть не должно.

Шаг 1

Итак, вот каркас для нашего будущего приложения:
Hello World
package helloworld;

/*
 * Импорт пакета, содержащего класс MIDlet
 * От этого класса должен быть унаследован главный класс приложения
 */
import javax.microedition.midlet.*;

public class HelloWorld extends MIDlet { // Создаем главный класс и наследуемся от MIDlet

    // В классе MIDlet содержится 3 абстрактных метода
     
    public void startApp() {
        /*
         * Первый метод - startApp().
         * Он вызывается при открытии приложения пользователем,
         * а так же после выхода из режима паузы.
         */
    }
    
    public void pauseApp() {
        /*
         * Второй метод - pauseApp().
         * Он вызывается тогда, когда Вам звонят и приложение приостанавливается
         */
    }
    
    public void destroyApp(boolean unconditional) {
        /*
         * Последний метод - destroyApp(boolean unconditional).
         * Он вызывается при выходе из приложения.
         */
    }
}


Код неплохо задокументирован, надеюсь, Вам все понятно. Вы можете скомпилировать этот код и убедиться, что он работает.

Шаг 2


Мы написали каркас приложения, теперь пора добавить реализацию.
Hello World
package helloworld;


import javax.microedition.midlet.*;
// Импортируем пакет для работы с GUI
import javax.microedition.lcdui.*;

public class HelloWorld extends MIDlet {

    private Display display;
    private Form form;
    
    public void startApp() {
        // Создаем новую форму и задаем её заголовок
        form = new Form("Hello World!");
        // Создаем переменную со строкой 'Hello World!'
        String hello = "Hello World!";
        // Добавляем нашу строку в форму
        form.append(hello);
        // Инициализируем дисплей
        display = Display.getDisplay(this);
        //
        display.setCurrent(form);
    }
    
    public void pauseApp() {
        // Сообщим виртуальной машине о паузе в приложении
        notifyPaused();
    }
    
    public void destroyApp(boolean unconditional) {
        // Запустим сборщик мусора, чтобы не забивать оперативную память
        System.gc();
        // Сообщим о завершении работы приложения
        notifyDestroyed();
    }
}


Заключение


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