Дипломная работа: Использование платформы j2me для мобильных телефонов при организации видеонаблюдений
Рисунок 2.2 – Жизненный цикл мидлета
Все экранные формы расширяют абстрактный класс Displayable. Этот класс описывает экранную форму, которая может иметь заголовок, бегущую строку, несколько команд и слушатель событий. Отображаемое содержимое формы определяется подклассами. Существует шесть классов, которые представляют собой различные типы экранных форм [3]:
- List позволяет выбрать пользователю элементы из списка. Каждый элемент в списке представляется строчкой и может иметь Image;
- TextBox позволяет пользователю вводить и редактировать текст;
- Alert можно сравнить с диалоговым окном, оповещающим о какой-то произошедшей ситуации;
- Form может содержать комбинацию элементов, которые могут представлять строчки, изображения, поля ввода, списки;
- Canvas позволяет приложению самому обеспечивать отрисовку, переопределив метод paint (Graphics g);
- TextBox – представляет собой многострочное поле для ввода и редактирования текста.
Подсветка экрана, вибратор, звук в MIDP 1.0 отсутствуют (они появились только в MIDP 2.0). Однако, не смотря на все эти ограничения, можно наблюдать огромное количество мобильных телефонов, в которых есть такие возможности. Происходит это потому, что производители добавляют свой собственный API, реализующий данные возможности. В связи с этим мидлет, сделанный для одного телефона, может не работать на другом.
J2ME-приложение состоит из двух файлов: jad и jar. Jad-файл – это дескриптор приложения, текстовый файл, в котором указаны атрибуты приложения. Jar-файл – это сама программа, это пакет мидлетов (Midlet Suite).
2.2 Библиотека LWUIT
Библиотека LWUIT [4] базируется на профиле MIDP 2.0 и предназначена для быстрой разработки пользовательских интерфейсов, которые будут одинаково выглядеть на телефонах различных производителей. Например, на смартфонах Nokia элемент StringItem (строковый элемент формы) ставит после себя символ перевода строки, а на смартфонах Sony Ericsson – нет. На Nokia элемент Ticker (бегущая строка) закрывает заголовок формы, на других телефонах – нет, а на третьих Ticker может вообще не поддерживаться. Такая портабельность достигается за счет реализации собственного слоя поверх системной канвы и разработанных собственных элементов графического интерфейса.
LWUIT создана по образу Swing и реализует простую графику и модель пользовательского интерфейса с небольшими начальными требованиями к ресурсам и умеренными требованиями к производительности. В ней используется интеграция графики SVG и механизм MVC.
Данная библиотека входит в состав Sun J2ME SDK 3.0 и предоставляет следующие основные возможности:
- поддержка окон;
- пользовательские стили;
- анимация;
- сенсорная навигация.
Базовым классом для всех элементов графического интерфейса является Component. Все элементы добавляются в контейнеры, прежде чем они будут отображены на экране. Контейнеры также могут быть вложены друг в друга. Самым основным контейнером является Form, который представляет собой экранную форму. В общем случае у него есть строка заголовка сверху, строка меню с командами внизу и по центру располагается ContentPane – контейнер для элементов графического интерфейса. Далее приводится листинг 2.1 создания простого приложения с использованием данной библиотеки, которое выводит приветствие и содержит одну кнопку.
Листинг 2.1 – Создание формы
importcom.sun.lwuit. Display;
import com.sun.lwuit. Form;
import com.sun.lwuit. Label;
import com.sun.lwuit.layouts. BorderLayout;
import com.sun.lwuit.plaf.UIManager;
import com.sun.lwuit.util. Resources;
public class HelloMidlet extends javax.microedition.midlet.MIDlet {
public void startApp() {