Фреймворк управления способностями предоставляется OpenHarmony для создания приложений на основе OpenHarmony. Ниже приведена архитектура фреймворка управления способностями.
Рисунок 1 Фреймворк управления способностями
AbilityKit — это набор инструментов разработчика, предоставляемый фреймворком управления способностями. Вы можете использовать этот набор для разработки приложений на основе компонента Ability. Существуют два типа приложений, создаваемых на основе компонента Ability: JS Ability (разработка с использованием языка JavaScript) и Native Ability (разработка с использованием языков C/C++). Набор инструментов JS Application Development Framework упаковывает JavaScript UI-компоненты на основе AbilityKit и используется для быстрой разработки приложений на основе JS Ability.
Ability — это минимальная единица планирования системы для приложений. Это компонент, который может реализовать независимую функциональность. Приложение может содержать одну или несколько экземпляров Ability. Для создания экземпляра Ability используются две шаблонные формы: Page и Service.
AbilitySlice представляет собой отдельный экран и его логику управления. Этот компонент специфичен для Page ability. Page ability может содержать один или несколько AbilitySlice, предоставляющих высокорелевантные возможности. На следующем рисунке показана связь между Page ability и его AbilitySlice.
Рисунок 2 Связь между Page ability и его AbilitySlice
Рисунок 3 Переход состояния жизненного цикла Page 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 вы должны сначала вызвать метод регистрации, определенный в AbilityLoader, чтобы зарегистрировать имя класса Ability с фреймворком управления способностями, чтобы этот Ability мог быть создан при запуске.
AbilityManager обеспечивает межпроцессное взаимодействие (IPC) между AbilityKit и службой Ability Manager.
EventHandler предоставлен AbilityKit для обеспечения межпоточного взаимодействия между ability.
Служба Ability Manager является системной службой, которая координирует отношения выполнения и состояния жизненного цикла экземпляров Ability. Она состоит из следующих подмодулей:
AppSpawn — это системная служба, используемая для создания процесса для выполнения ability. Эта служба имеет высокие права доступа. Она устанавливает права доступа для экземпляров Ability и заранее загружает некоторые общие модули для ускорения старта приложения.
/foundation/ability/ability_lite
├── frameworks
│ ├── ability_lite # Ядро реализации AbilityKit
│ ├── abilitymgr_lite # Клиентский код для связи между AbilityKit и Ability Manager Service
│ └── want_lite # Реализация информации для взаимодействия между ability
├── interfaces
│ ├── kits
│ │ ├── ability_lite # Внешние API AbilityKit
│ │ └── want_lite # Внешние API информации для взаимодействия между ability
│ └── inner_api
│ └── abilitymgr_lite # Внутренние API, предоставляемые Ability Manager Service другим подсистемам
└── services
└── abilitymgr_lite # Реализация Ability Manager Service
```- После завершения установки HAP можно использовать инструмент `aa` для запуска демонстрационного примера для запуска указанной ability с помощью следующей команды. (Пример: **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>
[Framework ability](https://gitee.com/openharmony/docs/blob/master/en/readme/ability.md)
**aafwk_aafwk_lite**
[appexecfwk_appexecfwk_lite](https://gitee.com/openharmony/appexecfwk_appexecfwk_lite/blob/master/README.md)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )