Модель приложения
Модель приложения
Программа, написанная на языке Java, состоит из фрагментов, хранящихся в разных файлах. Эти фрагменты называются классами. Причем если приложение состоит более чем из одного класса, то один из них должен быть главным, а все остальные зависимыми. При запуске приложения будет вызываться код главного класса, и уже затем он будет управлять всеми остальными. Если главный класс завершает выполнение, то код остальных также прекращает выполняться.
В листинге 6.1 представлен минимальный код программы.
Листинг 6.1. Минимальный код программы
Несмотря на то что эта программа ничего не делает, то есть является «пустой», она все же является полноценной с точки зрения языка программирования.
Мидлет (то есть приложение для мобильного телефона) может находиться в трех состояниях: активном, приостановленном и разрушенном. • Активно – в этом состоянии приложение находится во время использования, например, когда играете в игру.
• Приостановлено – приложение временно приостанавливает свою деятельность, но не разрушается. Например, когда во время игры вам поступает входящий звонок.
• Разрушено – приложение завершает свое выполнение, то есть выгружается из памяти. Например, вы закончили играть.
Как можно видеть на рис. 6.19, при запуске приложения оно сначала переходит в состояние «приостановлено». Затем, если происходит какая-либо ошибка, приложение переходит в состояние «разрушено» и выгружается из памяти. Если же инициализация прошла успешно, то приложение переходит в состояние «активно», то есть начинает свою работу. Нужно заметить, что за время своего выполнения работа может несколько раз приостанавливаться и продолжаться.
Рис. 6.19. Жизненный цикл приложения.
После того как был получен сигнал к завершению работы, например пользователь нажал кнопку Выход, приложение разрушается.
Итак, жизненный цикл приложения понятен, теперь рассмотрим, какие методы отвечают за переход в каждое состояние.
• startApp – вызывается, когда приложение переходит в активное состояние.
• pauseApp – отвечает за переход в приостановленное состояние, проще говоря, за паузу.
• destroyApp – вызывается, когда приложение должно завершить свое выполнение, то есть разрушиться.
Немного модифицировав диаграмму, рассмотрим полный жизненный цикл приложения, включая методы, отвечающие за переходы из одного состояния в другое (рис. 6.20).
Рис. 6.20. Переходы между состояниями.
Теперь, если мы немного дополним нашу программу и внесем в нее только что рассмотренные методы, код будет выглядеть следующим образом (листинг 6.2).
Листинг 6.2. Модифицированный код
Эта программа тоже ничего не выполняет, но имеет некоторые дополнения. Например, при входе в активное состояние, то есть при запуске, в консоль будет выведена строка Вход. При выходе из программы в консоли появится строка Выход. Таким образом, вы сами сможете следить за изменением состояния программы.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Модель процессов ILE
Модель процессов ILE Модель процессов ILE впервые появилась на AS/400 в версии V2R3 вместе с одноименной программной моделью и компиляторами. Исходная модель процессов и модель процессов ILE сосуществовали в AS/400 до перехода на RISC-процессоры. Затем исходные модели были
1.7. Модель OSI
1.7. Модель OSI Распространенным способом описания уровней сети является предложенная Международной организацией по стандартизации (International Standards Organization, ISO) модель взаимодействия открытых систем (open systems interconnection, OSI). Эта семиуровневая модель показана на рис. 1.5, где она
Модель ISO/OSI
Модель ISO/OSI Пожалуй, ключевым понятием в стандартизации сетей и всего, что к ним относится, является модель взаимодействия открытых систем (Open System Interconnection, OSI), разработанная «Международной организацией по стандартизации» (International Standards Organization, ISO). На практике применяется
8.16.1 Модель EGP
8.16.1 Модель EGP Маршрутизатор EGP конфигурируется с адресом IP для одного или нескольких внешних соседних маршрутизаторов. Обычно внешние соседи соединены с общей сетью с множественным доступом или объединены одной линией "точка-точка".EGP позволяет маршрутизатору
14.3 Модель FTP
14.3 Модель FTP Как видно из приведенного выше диалога, пользователь взаимодействует с локальным клиентом FTP (точнее, с соответствующим процессом). Программное обеспечение локального клиента управляет преобразованием данных для удаленного сервера FTP через управляющее
15.2 Модель RPC
15.2 Модель RPC Приложение клиент/сервер для архитектуры ONC функционирует поверх RPC. Работа RPC моделируется обычными вызовами подпрограмм. Например, в языке программирования С вызов обычной подпрограммы в общем случае имеет форму:код_возврата = имя_процедуры
16.19.1 Модель каталога
16.19.1 Модель каталога Информационная база каталога (Directory Information Base) распределена среди группы баз данных, управляемых агентами обслуживания каталогов (Directory Service Agent — DSA). Пользователи обращаются к каталогам через пользовательский агент каталога (Directory User Agent — DUA). DUA
17.4 Модель новостей
17.4 Модель новостей Клиентский процесс новостей взаимодействует с сервером сетевых новостей по протоколу пересылки сетевых новостей (Network News Transfer Protocol — NNTP). Клиентский процесс может размещаться в агенте новостей конечного пользователя или на сервере новостей того же
11.6.2. Модель заклинаний
11.6.2. Модель заклинаний Модель заклинаний является простейшей из моделей проектирования интерфейсов. Нет ни ввода, ни вывода данных, только вызов и числовой код завершения. Режим работы заклинания контролируется только условиями запуска. Не существует другого типа
11.6.4. Модель приемника
11.6.4. Модель приемника Приемник (sink) — фильтр-подобная программа, которая принимает данные на стандартном вводе, но не отправляет никаких данных на стандартный вывод. Как и в двух предыдущих моделях, действия программы управляются только стартовыми условиями.Данная
Модель
Модель В любом интерьере наибольшее количество объектов — это модели. Модель может иметь произвольную форму: от примитивных сферы или куба до реалистичных форм человеческой фигуры. Модель призвана передавать формы конкретных объектов. Например, создавая интерьер, мы
Двухуровневая модель
Двухуровневая модель Рис. 5.1 иллюстрирует классическую двухуровневую модель клиент-сервер. Промежуточный уровень, который может присутствовать или отсутствовать, представляет собой драйвер, такой как ODBC, JDBC, PHP, или компонент доступа к данным, который интегрирован с
Многоуровневая модель
Многоуровневая модель Увеличение возможностей масштабирования и требования большей функциональной совместимости приводят к модели с большим количеством уровней, как показано на рис. 5.2. Клиентский интерфейс перемещается в центр модели; он объединяется с одним или
Однопользовательская модель
Однопользовательская модель Все серверы Firebird могут работать с локальными клиентами. Протоколы соединения и режимы меняются в соответствии с выбранной вами моделью сервера. Однопользовательские инсталляции делятся на две категории:* Независимый сервер. В этой модели
Модель здания
Модель здания Действия по созданию плана помещения в Professional Home Design – Platinum почти аналогичны программе Super Home Suite. Отличие состоит в том, что в Professional Home Design – Platinum можно более детально проработать план и создать максимально реалистичную модель помещения, в котором
Web-модель
Web-модель Web-модель получила свое название, поскольку базируется на популярных браузерах Netscape Navigator и Microsoft Internet Explorer, используемых как средства навигации во Всемирной Паутине - World Wide Web. Эта модель предусматривает встраивание в готовый браузер набора открытых ключей