Незважаючи на назву схоже з J2EE або J2SE навряд чи Ви де-небудь знайдете JDK для J2ME [1] або що-небудь подібне. Справа в тому, що J2ME об'єднує під своєю назвою безліч технологій, кожна з яких вирішує свою конкретну задачу. А саме, специфікація J2ME визначає так звані конфігурації (configuration). Кожна конфігурація описує середовище виконання J2ME додатка (JVM, набір доступних класів, деякі правила функціонування додатків). Для конфігурації в свою чергу може бути визначено декілька профілів (profile), кожен з яких 'уточнює' середу виконання, додаючи або забороняючи використання будь-яких класів, визначаючи нові правила функціонування програми. Дуже точно цю концепцію відображає рис. 1.
У даній далі статті мова піде про конфігурацію CLDC [2] (Connected, Limited Device Configuration) і одному з її профілів - MIDP [3] (Mobile Information Device Profile).
Повний докладний опис даної конфігурації можна знайти в [2]. Я ж тут хочу відзначити тільки деякі основні моменти, які відрізняють середу виконання CLDC J2ME від, наприклад, середовища виконання J2SE:
Потрібно сказати, що специфікація CLDC сама по собі не визначає закінчену середу виконання, тому в реалізацію CLDC від Sun був включений додатковий пакет com.sun.kjava, класи якого реалізують тестовий користувальницький інтерфейс і деякі протоколи для Generic Connection Framework.
Малюнок 2. Стек MIDP додатки.
Не мудруючи лукаво, наведемо цитату з специфікації [3]: "MIDP визначає модель додатки, яка дозволяє розділяти декільком додаткам обмежені ресурси мобільного пристрою, ця модель називається MIDlet. Вона визначає, що таке MIDlet додаток, як воно повинно бути упаковано, яка Виконавча доступна для MIDlet'a і як має поводитися додаток, щоб мобільний пристрій могло їм управляти ... ". Щоб не приводити більше теоретичних відомостей про MIDP профілі перейдемо до практичного написання додатка для нього.
Підготовка до розробки
Для початку розробки MIDP додатків або MIDlet'ов, Вам знадобитися встановити деякий програмне забезпечення. Кілька варіантів можливих конфігурацій наведено нижче:
Існує ще безліч варіантів (див. [7]), але ми в даній статті будемо орієнтуватися на 3-ій, як найчесніший в сенсі відповідності специфікації.
Mobile Messenger
Малюнок 3. Блок-схема програми.
І так, в нашій системі явно вимальовуються три основні частини:
Раз вже мова зайшла про Generic Connection Framework, то саме з комунікаційної частини і почнемо проектування системи.
Зауваження для російських громадян
Більшість ресурсів, що відносяться до J2ME реалізацій від Sun, поширюються через Sun Community Source Licensing. Дана угода дозволяє експорт програмних продуктів тільки в обмежене число країн (Error! Bookmark not defined.), Тому для успішного скачування при реєстрації вкажіть одну з цих країн.