购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1.1 Ability大家族

Ability的中文含义为“能力”,是应用程序所具备能力的抽象,也是应用程序的原子化基础组件。一个应用程序需要各种各样的能力,如显示界面的能力、播放视频的能力等。在鸿蒙应用开发中,开发者需要对应用程序所需要具备的各种能力进行抽象和剥离,并尽可能将能力的粒度进行细化、对应用逻辑进行原子化。在Java中,Ability是一个类。事实上,鸿蒙应用程序的开发是对Ability进行继承并进行应用扩展。所有的应用程序的功能最终必须体现在开发者所创建的Ability的子类中。

因此,学习Ability的用法是学习的第一步。Ability分为两大类:有用户界面的Feature Ability(简称FA)和没有用户界面的Particle Ability(简称PA)。FA也被称为元程序,PA也被称为元服务。

注意: Particle Ability的旧称为Atomic Ability(简称AA)。PA和AA是一个概念。Ability所在的包名为ohos.aafwk.ability,这其中aafwk的含义就是元能力框架(Atomic Ability Framework)。

FA包含1个模板Page Ability,用于提供用户的交互能力。由于FA只有1个模板Page Ability,简称Page。注意,Page Ability并不能简称为PA,否则会与Particle Ability混淆。

PA包含2个模板,分别是Service Ability和Data Ability。Service Ability简称Service,用于提供后台服务,例如播放音乐等。Data Ability简称Data,用于提供统一的数据访问接口,方便FA的统一调用。

几种不同类型Ability的关系如图2-1所示。

图2-1 几种不同类型Ability的关系

注意: 所有类型的Ability均由Ability类实现,并不存在ServiceAbility、PageAbility等子类。 Si1+rqnTT++xHzAQ9WPOnIrZTx+EZhD9zTvXsxDQZodjWQKpp5F88ukEo/U8Ubi6

点击中间区域
呼出菜单
上一章
目录
下一章
×