
- •JAVA-ТЕХНОЛОГИЯ
- •Java Micro Edition (JME)
- •Конфигурации
- •Связь между конфигурациями
- •CLDC vs. JSE
- •CLDC, KVM
- •Профили
- •Профили
- •CLDC
- •Архитектура
- •abstract class MIDLet
- •Описание абстрактных методов класса MIDLet
- •Визуальные компоненты
- •Иерархия классов
- •abstract class Displayable
- •abstract class Screen
- •abstract class Canvas
- •class Graphics
- •(C) В.О. Сафонов. 2013
- •Код примера 1 / 2
- •Код примера 2/2
- •Дополнительные возможности
- •Процесс создания приложения
- •Процесс создания приложения
- •.jad - файл
- •Описание структуры .jad
- •Пример загрузки приложения через WAP
- •Используемые технологии
- •Эмуляторы
- •Материалы
- •Особенности KVM
- •Пример программы для
- •MIDP и MIDlets
- •MIDlet Packaging
- •Разработка и инсталляция MIDlet
- •High-level API (TextBox)
- •High-level API (Commands)
- •High-level API (Forms &
- •Low-level API (Canvas)
- •Работа с Canvas
- •Обработка событий
- •Работа в сети
- •Длительное хранение данных
- •JME и более современные реализации Java для мобильных устройств

Обработка событий
Методы для обработки нажатия клавиш:
protected void keyPressed(int keyCode) protected void keyReleased(int keyCode) protected void keyRepeated(int keyCode)
Методы для обработки действия «мыши»:
protected void pointerPressed(int x, int y)
protected void pointerDragged(int x, int y)
(C) Вprotected.О. Сафонов. void pointerReleased(int x, int
2013y)

Работа в сети
Основной интерфейс для работы с сетью public interface Connection
{
public void close( ) throws IOException;
}
Объект класса Connection может быть получен с помощью методов класса Connector:
public static Connection open(String name);
public static Connection open(String name, int mode);
public static Connection open(String name, int mode, boolean timeouts); public InputStream openInputStream( ) throws IOException
public DataInputStream openDataInputStream( ) throws IOException Виды соединений:
Sockets Datagrams
HTTP connections – единственный протокол, который должен поддерживать каждый производитель:
HttpConnection conn = (HttpConnection)Connector.open("http://www.oreilly.com/", Connector.READ_WRITE);
(C) В.О. Сафонов. 2013

Длительное хранение данных
Необходимо сохранять:
данные, введенные пользователем пользовательские настройки (например, адрес почтового сервера)
данные, которые недавно использовались или используются часто (например, Internet history)
Класс javax.microedition.rms.RecordStore
public static RecordStore openRecordStore(String name, boolean create) public static void closeRecordStore()
public static void deleteRecordStore(String name) Для работы с данными:
public int addRecord(byte[] data, int offset, int size) public void deleteRecord(int recordId)
public byte[] getRecord(int recordId)
(C) В.О. Сафонов. 2013

CDC
Разработана для устройств с 2 MB или бОльшим объемом памяти и 32-bit процессором.
Виртуальная машина – CVM (Compact Virtual Отличия от KVM:
работа с числами с плавающей точкой работа с native code
работа со слабыми ссылками работа с классом Reflection Object serialization Developer-defined class loaders
поддержка Java Virtual Machine Debugging Interface (JVMDI) Классы CDC:
java.io, java.lang, java.lang.ref, java.lang.reflect, java.math, java.net, java.security, java.security.cert, java.text, java.util, java.util.jar, java.util.zip, javax.microedition.io
(C) В.О. Сафонов. 2013

JME и более современные реализации Java для мобильных устройств
Google Android – современная платформа для мобильных устройств на базе открытого ядра Linux и Java-технологии
Google: Платформа JME устарела и не отражает возможностей современных мобильных устройств
Google Android в настоящее время (2010) доминирует на рынке, постепенно вытесняя JME
(C)В.О. Сафонов. 2013

Q&A
Вопросы?
(C) В.О. Сафонов. 2013