Опубликовано: 25 Октября 2017
Жизненный цикл приложения

В этом уроке мы разберем структуру программного кода приложения, рассмотрим основные и дополнительные события приложения на примере шаблона, созданного в 7-м уроке.

Точка входа в нативное приложение Tizen

Как и в любой программе, написанной на языке С/C++, работа программы начинается с функции main().

nw_008_01_en

Здесь, первой строкой инициализируется структура appdata. Обычно в ней хранятся указатели на все важные объекты приложения, такие как: окно или макет (layout). Далее происходит инициализация обработчиков событий.

Методы обратного вызова

Tizen UI приложение, на протяжении своего жизненного цикла, может находиться в пяти разных состояниях: создание, возобновление, приостановка, завершение и управление. При переходе приложения из одного состояния в другое, система вызывает методы обратного вызова:

app_create() - вызывается при создании приложения. Здесь вы можете создать основу пользовательского интерфейса вашего приложения (создать окно, установить его размеры, загрузить макет и прочее), инициализировать компоненты модели приложения. Если функция возвращает истину - стартует главный поток приложения.

app_terminate() - вызывается при удалении приложения. Когда, главный поток приложения завершил свою работу. В этой функции необходимо проследить за освобождением выделенных в программе ресурсов, если таковые имеются.

app_pause() - вызывается, когда окно приложения полностью невидимо для пользователя.

app_resume() - вызывается каждый раз, когда окно приложения показывается пользователю.

app_control() - вызывается, когда приложение получает запрос на запуск от другого приложения.

Обработчики системных событий

Теперь перейдем к обработчикам системных событий. Функция ui_app_add_event_handler() регистрирует обработчики следующих системных событий:

APP_EVENT_LOW_MEMORY – недостаточно памяти.

APP_EVENT_LOW_BATTERY – низкий заряд батареи.

APP_EVENT_LANGUAGE_CHANGED – на устройстве был изменен язык ввода.

APP_EVENT_DEVICE_ORIENTATION_CHANGED – изменена ориентация экрана устройства.

APP_EVENT_REGION_FORMAT_CHANGED – изменены настройки локализации.

Функция ui_app_main() - запускает главный цикл приложения, после того как отработает app_create(). Если app_create() возвращает false, главный поток не запускается, а сразу вызывается app_terminate().

В следующем уроке мы разберем из каких базовых модулей состоит Tizen.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *