Программа, написанная на языке Java, состоит из фрагментов, хранящихся в разных файлах. Эти фрагменты называются классами. Причем если приложение состоит более чем из одного класса, то один из них должен быть главным, а все остальные зависимыми. При запуске приложения будет вызываться код главного класса, и уже затем он будет управлять всеми остальными. Если главный класс завершает выполнение, то код остальных также прекращает выполняться.
В листинге 6.1 представлен минимальный код программы.
Листинг 6.1. Минимальный код программы
Несмотря на то что эта программа ничего не делает, то есть является «пустой», она все же является полноценной с точки зрения языка программирования.
Мидлет (то есть приложение для мобильного телефона) может находиться в трех состояниях: активном, приостановленном и разрушенном. •
Активно – в этом состоянии приложение находится во время использования, например, когда играете в игру.•
Приостановлено – приложение временно приостанавливает свою деятельность, но не разрушается. Например, когда во время игры вам поступает входящий звонок.•
Разрушено – приложение завершает свое выполнение, то есть выгружается из памяти. Например, вы закончили играть.Как можно видеть на рис. 6.19, при запуске приложения оно сначала переходит в состояние «приостановлено». Затем, если происходит какая-либо ошибка, приложение переходит в состояние «разрушено» и выгружается из памяти. Если же инициализация прошла успешно, то приложение переходит в состояние «активно», то есть начинает свою работу. Нужно заметить, что за время своего выполнения работа может несколько раз приостанавливаться и продолжаться.
Рис. 6.19.
Жизненный цикл приложения.После того как был получен сигнал к завершению работы, например пользователь нажал кнопку Выход
, приложение разрушается.Итак, жизненный цикл приложения понятен, теперь рассмотрим, какие методы отвечают за переход в каждое состояние.
• startApp
– вызывается, когда приложение переходит в активное состояние.• pauseApp
– отвечает за переход в приостановленное состояние, проще говоря, за паузу.• destroyApp
– вызывается, когда приложение должно завершить свое выполнение, то есть разрушиться.Немного модифицировав диаграмму, рассмотрим полный жизненный цикл приложения, включая методы, отвечающие за переходы из одного состояния в другое (рис. 6.20).
Рис. 6.20.
Переходы между состояниями.Теперь, если мы немного дополним нашу программу и внесем в нее только что рассмотренные методы, код будет выглядеть следующим образом (листинг 6.2).
Листинг 6.2. Модифицированный код
Эта программа тоже ничего не выполняет, но имеет некоторые дополнения. Например, при входе в активное состояние, то есть при запуске, в консоль будет выведена строка Вход
. При выходе из программы в консоли появится строка Выход. Таким образом, вы сами сможете следить за изменением состояния программы.Компиляция и запуск приложения
Давайте проверим работоспособность нашей программы на практике. Запустите пакет J2ME Wireless Toolkit. Для этого откройте папку WTK22\bin
(по умолчанию она расположен на диске C:) и запустите файл ktoolbar.exe. Отроется окно, представленное на рис. 6.21.Рис. 6.21.
Окно программы J2ME Wireless Toolkit.Теперь создадим новый проект. Для этого нажмите кнопку New Project
(Новый проект), расположенную в левом верхнем углу окна. Перед вами появится окно, изображенное на рис. 6.22.Рис. 6.22.
Окно создания нового проекта.Поле Project Name
(Имя проекта) содержит название вашего проекта. То, что вы введете в это поле, будет отображаться как название программы. Введите в него MyProject.Поле MIDlet Class Name
(Имя класса MIDlet) содержит название главного класса приложения, с которого будет начинаться выполнение программы. Содержимое поля MIDlet Class Name (Имя класса MIDlet) и название главного класса обязательно должны совпадать. Введите в этом поле MyClass.После завершения ввода нажмите кнопку Create Project
(Создать проект). Появится окно, содержащее сведения о свойствах проекта (рис. 6.23).Рис. 6.23.
Свойства проекта.В свойствах проекта ничего менять не станем, оставим все как есть. Просто нажмите кнопку OK
. Можно считать, что проект создан. Об этом свидетельствует содержимое консоли пакета J2ME Wireless Toolkit.Пора вносить программный код. Перейдите в папку WTK22\apps, в ней вы увидите вложенную папку MyProject
– это и есть каталог нашего проекта. Внутри MyProject находится папка src, содержащая программный код проекта. На данный момент папка пуста, так как никакого кода мы туда не добавляли.