Опубліковано: 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 адреса не оприлюднюватиметься. Обов’язкові поля позначені *