Ability概述

Ability是应用所具备能力的抽象,也是应用程序的重要组成部分。一个应用可以具备多种能力(即可以包含多个Ability),HarmonyOS支持应用以Ability为单位进行部署。Ability可以分为FA(Feature Ability)和PA(Particle Ability)两种类型,每种类型为开发者提供了不同的模板,以便实现不同的业务功能。

  • FA支持

    Page Ability

    Page模板是FA唯一支持的模板,用于提供与用户交互的能力。一个Page实例可以包含一组相关页面,每个页面用一个AbilitySlice实例表示。

  • PA支持

    Service Ability

    Data Ability

    • Service模板:用于提供后台运行任务的能力。
    • Data模板:用于对外部提供统一的数据访问抽象。

配置文件(config.json)中注册Ability时,可以通过配置Ability元素中的“type”属性来指定Ability模板类型,示例如下。

其中,“type”的取值可以为“page”、“service”或“data”,分别代表Page模板、Service模板、Data模板。为了便于表述,后文中我们将基于Page模板、Service模板、Data模板实现的Ability分别简称为Page、Service、Data。

{    "module": {        ...        "abilities": [            {                ...                "type": "page"                ...            }        ]        ...    }    ...}

相关实例

针对Ability开发,有以下Codelabs可供参考:

  • 分布式亲子早教系统

    基于分布式能力,实现一个多屏互动、跨设备协同的亲子早教系统。

  • 分布式新闻客户端

    基于HarmonyOS应用中Service Ability和Page Ability的使用,实现跨设备FA拉起。

  • 跨设备视频播放

    基于分布式能力和IDL跨进程通信,实现视频跨设备播放、控制。

  • 分布式输入法

    基于分布式能力,将手机作为智慧屏的虚拟控制器,控制文字输入和遥控播放。

  • 分布式游戏手柄

    基于分布式能力,将手机作为智慧屏的虚拟手柄终端,组成全新的多人娱乐场景。

results matching ""

    No results matching ""