1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openharmony-ability_ability_lite

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Фреймворк управления возможностями

Введение

Фреймворк управления возможностями предоставляется OpenHarmony для разработки приложений на OpenHarmony. Следующая фигура показывает архитектуру фреймворка управления возможностями.

Рисунок 1 Архитектура фреймворка управления возможностями

- AbilityKit — это набор инструментов разработки, предоставляемый фреймворком управления возможностями. С его помощью можно разрабатывать приложения на основе компонента Ability. Существует два типа приложений, разработанных на основе компонента Ability: JS Ability, разработанный с использованием языка JavaScript, и Native Ability, разработанный с использованием языка C/C++. JS-фреймворк разработки приложений упаковывает JavaScript-UI-компоненты на основе AbilityKit и используется для быстрой разработки приложений на основе JS Ability.

  • Ability — это минимальная единица для расписания приложений системой. Это компонент, который может реализовать независимую функциональность. Приложение может содержать один или несколько экземпляров Ability. Существует два типа шаблонов, которые можно использовать для создания экземпляра Ability: Page и Service.
    • Ability с использованием шаблона Page (кратко Page ability) предоставляет пользовательский интерфейс для взаимодействия с пользователями.
    • Ability с использованием шаблона Service (кратко Service ability) не имеет пользовательского интерфейса и используется для выполнения фоновых задач.- AbilitySlice представляет собой отдельный экран и его логику управления. Он специфичен для Page abilities. Page ability может содержать один ability slice или несколько ability slices, предоставляющих высокорелевантные возможности. Следующая фигура показывает взаимосвязь между Page ability и его ability slices.

Рисунок 2 Взаимосвязь между Page ability и его ability slices

  • Цикл жизни — это общее понятие для всех состояний ability, включая UNINITIALIZED, INITIAL, INACTIVE, ACTIVE и BACKGROUND. Следующая фигура показывает переходы состояний цикла жизни ability.Рисунок 3 Переходы состояний жизненного цикла ability

  • Описание состояний жизненного цикла ability:
    • UNINITIALIZED: Ability не инициализирован. Это временное состояние. Ability переходит напрямую в состояние INITIAL при создании.

    • INITIAL: Это состояние указывает на начальное или остановленное состояние. Ability в этом состоянии не выполняется. Ability переходит в состояние INACTIVE после запуска.

    • INACTIVE: Ability видима, но не получает фокус.

    • ACTIVE: Ability находится в переднем плане и имеет фокус. Ability переходит из состояния ACTIVE в состояние INACTIVE перед возвратом в фон.

    • BACKGROUND: Ability возвращается в фон. После повторного активирования ability переходит в состояние ACTIVE. После уничтожения ability переходит в состояние INITIAL.- AbilityLoader используется для регистрации и загрузки классов ability. После создания класса ability следует вызвать API регистрации, определённое в AbilityLoader, чтобы зарегистрировать имя класса ability с системой управления ability, чтобы этот класс ability мог быть создан при запуске.

  • AbilityManager обеспечивает межпроцессное взаимодействие (IPC) между AbilityKit и Ability Manager Service.
  • EventHandler предоставляется AbilityKit для обеспечения межпоточного взаимодействия между ability.
  • Ability Manager Service — это системный сервис, используемый для координации отношений выполнения и состояний жизненного цикла экземпляров ability. Он состоит из следующих подмодулей:
    • Подмодуль service startup запускает и регистрирует Ability Manager Service.
    • Подмодуль service interface management управляет внешними возможностями, предоставляемыми Ability Manager Service.
    • Подмодуль process management запускает и уничтожает процессы, где выполняются экземпляры ability, и поддерживает информацию о процессах.
    • Подмодуль ability stack management поддерживает последовательность представления ability в стеке.
    • Подмодуль lifecycle scheduling изменяет состояние ability на определённое состояние в зависимости от текущей операции системы.
    • Подмодуль connection management управляет соединениями с ability сервиса.
  • AppSpawn — это системный сервис, используемый для создания процесса для запуска способности. Этот сервис имеет высокие права доступа.Он устанавливает права доступа для экземпляров Ability и предварительно загружает некоторые общие модули для ускорения запуска приложений.## Структура директорий
/foundation/ability/ability_lite
     ├── frameworks
     │      ├── ability_lite               # Основная реализация кода AbilityKit
     │      ├── abilitymgr_lite            # Клиентский код для взаимодействия между AbilityKit и Ability Manager Service
     │      └── want_lite                  # Реализация кода носителя информации для взаимодействия между способностями
     ├── interfaces
     │      ├── kits
     │      │     ├── ability_lite        # API AbilityKit, доступные извне
     │      │     └── want_lite           # Внешние API носителя информации для взаимодействия между способностями
     │      └── inner_api
     │             └── abilitymgr_lite     # Внутренние API, предоставляемые Ability Manager Service для других подсистем
     └── services
             └── abilitymgr_lite            # Реализация кода Ability Manager Service

Использование

  • Сервис управления способностями работает в процессе foundation.
  • Сервис управления способностями зарегистрирован с sa_manager. sa_manager работает в процессе foundation и устанавливает среду выполнения потока для сервиса. Подробнее о том, как создать и использовать сервис управления способностями, см. SA Framework.
  • Сервис управления способностями запускается при запуске операционной системы.- После завершения установки HAP вы можете использовать инструмент aa для запуска демонстрационного приложения для запуска указанной способности с помощью следующей команды. (В качестве примера возьмем hispark_taurus, вы можете получить инструмент aa из директории out/hispark_taurus/ipcamera_hispark_taurus/dev_tools/bin после сборки версии.)``` ./bin/aa start -p com.xxxxxx.hiability -n MainAbility

## Вовлечённые репозитории<a name="section93061357133720"></a>

[Фреймворк способностей](https://gitee.com/openharmony/docs/blob/master/en/readme/ability.md)**aafwk_lite**

[appexecfwk_lite](https://gitee.com/openharmony/appexecfwk_appexecfwk_lite/blob/master/README.md)

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления (1)

все

Участники

все

Язык

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/openharmony-ability_ability_lite.git
git@api.gitlife.ru:oschina-mirror/openharmony-ability_ability_lite.git
oschina-mirror
openharmony-ability_ability_lite
openharmony-ability_ability_lite
master