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

OSCHINA-MIRROR/openharmony-ability_ability_lite

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

Управление способностями (framework)

Введение

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

Рисунок 1 Фреймворк управления способностями

Рисунок 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.

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

Рисунок 2 Связь между Page ability и его AbilitySlice

Рисунок 2

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

Рисунок 3 Переход состояния жизненного цикла Page ability

Рисунок 3

  • Описание состояний жизненного цикла 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. Она состоит из следующих подмодулей:

    • Подмодуль запуска службы запускает и регистрирует службу Ability Manager.
    • Подмодуль управления интерфейсами службы управляет внешними возможностями, предоставляемыми службой Ability Manager.
    • Подмодуль управления процессами запускает и прекращает процессы, где выполняются экземпляры Ability, и поддерживает информацию о процессах.
    • Подмодуль управления стеком ability поддерживает последовательность представления ability в стеке.
    • Подмодуль планирования жизненного цикла изменяет состояние ability на основе текущего действия системы.
    • Подмодуль управления соединениями управляет соединениями с Service 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 )

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

Введение

Описание недоступно Развернуть Свернуть
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