From 4f2e33eed6d521b7ad4c6e5621237b4d9bce279a Mon Sep 17 00:00:00 2001 From: RayShih Date: Tue, 29 Mar 2022 15:53:27 +0800 Subject: [PATCH] modify application-dev-guide Signed-off-by: RayShih --- zh-cn/OpenHarmony-Overview_zh.md | 4 ++-- .../application-dev/ability/ability-brief.md | 6 +++--- zh-cn/application-dev/ability/fa-brief.md | 10 +++++----- .../application-dev/ability/fa-pageability.md | 19 +++++++++++++------ .../quick-start/package-structure.md | 2 +- 5 files changed, 24 insertions(+), 17 deletions(-) diff --git a/zh-cn/OpenHarmony-Overview_zh.md b/zh-cn/OpenHarmony-Overview_zh.md index a20a54b234..02fed89027 100644 --- a/zh-cn/OpenHarmony-Overview_zh.md +++ b/zh-cn/OpenHarmony-Overview_zh.md @@ -195,7 +195,7 @@ OpenHarmony支持如下几种系统类型:

升级服务

-

可支持OpenHarmony设备的OTA(Over The Air)升级。

+

可支持OpenHarmony设备的OTA(Over The Air)升级。

标准系统

@@ -301,7 +301,7 @@ OpenHarmony支持如下几种系统类型:

分布式软总线

-

分布式软总线旨在为OpenHarmony系统提供跨进程或跨设备的通信能力,主要包含软总线和进程间通信两部分。其中,软总线为应用和系统提供近场设备间分布式通信的能力,提供不区分通信方式的设备发现,连接,组网和传输功能;而进程间通信则提供不区分设备内或设备间的进程间通信能力。

+

分布式软总线旨在为OpenHarmony系统提供跨进程或跨设备的通信能力,主要包含软总线和进程间通信两部分。其中,软总线为应用和系统提供近场设备间分布式通信的能力,提供不区分通信方式的设备发现,连接,组网和传输功能;而进程间通信则提供了对设备内或设备间无差别的进程间通信能力。

所有系统

diff --git a/zh-cn/application-dev/ability/ability-brief.md b/zh-cn/application-dev/ability/ability-brief.md index 2deda438bf..0f0d439389 100644 --- a/zh-cn/application-dev/ability/ability-brief.md +++ b/zh-cn/application-dev/ability/ability-brief.md @@ -2,10 +2,10 @@ ​ Ability是应用所具备能力的抽象,也是应用程序的重要组成部分。Ability是系统调度应用的最小单元,是能够完成一个独立功能的组件,一个应用可以包含一个或多个Ability。 -​ Ability框架模型结构具有两种形态: +​ Ability框架模型结构具有两种框架形态: -- 第一种形态为FA模型。API 8及其更早版本的应用程序只能使用FA模型进行开发。 FA模型将Ability分为FA(Feature Ability)和PA(Particle Ability)两种类型,其中FA支持Page Ability,PA支持Service Ability、Data Ability、以及FormAbility; -- 第二种形态为Stage模型。从API 9开始,Ability框架引入了Stage模型作为第二种应用形态,Stage模型将Ability分为Ability和ExtensionAbility两大类,其中ExtensionAbility又被扩展为ServiceExtensionAbility、FormExtensionAbility、DataShareExtensionAbility等等一系列ExtensionAbility,以便满足更多的使用场景。 +- 第一种形态为FA模型。API 8及其更早版本的应用程序只能使用FA模型进行开发。 FA模型将Ability分为FA(Feature Ability)和PA(Particle Ability)两种类型,其中FA支持Page Ability,PA支持Service Ability、Data Ability、以及FormAbility。 +- 第二种形态为Stage模型。从API 9开始,Ability框架引入了Stage模型作为第二种应用框架形态,Stage模型将Ability分为Ability和ExtensionAbility两大类,其中ExtensionAbility又被扩展为ServiceExtensionAbility、FormExtensionAbility、DataShareExtensionAbility等等一系列ExtensionAbility,以便满足更多的使用场景。 ​ Stage模型的设计,主要是为了方便开发者更加方便地开发出分布式环境下的复杂应用。下表给出了两种模型在设计上的差异: diff --git a/zh-cn/application-dev/ability/fa-brief.md b/zh-cn/application-dev/ability/fa-brief.md index ee4bd1c168..eac6bffa26 100644 --- a/zh-cn/application-dev/ability/fa-brief.md +++ b/zh-cn/application-dev/ability/fa-brief.md @@ -1,12 +1,12 @@ # FA模型综述 ## 整体架构 -OpenHarmony用户程序的开发本质上就是开发Ability,OpenHarmony系统也是通过调度Ability,通过系统提供的一致性调度契约对Ability进行生命周期管理,从而实现对用户程序的调度。 +OpenHarmony用户程序的开发本质上就是开发Ability。OpenHarmony系统是通过对Ability调度,结合系统提供的一致性调度契约对Ability进行生命周期管理,从而实现对用户程序的调度。 Ability框架在API 8及更早版本使用FA模型。FA模型中Ability分为PageAbility、ServiceAbility、DataAbility、FormAbility几种类型。其中: -- PageAbility是具备ArkUI实现的Ability,是用户具体可见并可以交互的Ability实例; -- ServiceAbility也是Ability一种,但是没有UI,提供其他Ability调用自定义的服务,在后台运行; -- DataAbility也是没有UI的Ability,提供其他Ability进行数据的增删查服务,在后台运行; +- PageAbility是具备ArkUI实现的Ability,是用户具体可见并可以交互的Ability实例。 +- ServiceAbility也是Ability一种,但是没有UI,提供其他Ability调用自定义的服务,在后台运行。 +- DataAbility也是没有UI的Ability,提供其他Ability进行数据的增删查服务,在后台运行。 - FormAbility是卡片Ability,是一种界面展示形式。 ## 应用包结构 @@ -14,7 +14,7 @@ Ability框架在API 8及更早版本使用FA模型。FA模型中Ability分为Pag ![fa-package-info](figures/fa-package-info.png) -应用包结构的配置请参见[包结构说明](../quick-start/package-structure.md)。 +应用包结构的配置请参见[应用包结构配置文件的说明](../quick-start/package-structure.md)。 ## 生命周期 diff --git a/zh-cn/application-dev/ability/fa-pageability.md b/zh-cn/application-dev/ability/fa-pageability.md index 2f2dbb22f1..a02d237cc5 100644 --- a/zh-cn/application-dev/ability/fa-pageability.md +++ b/zh-cn/application-dev/ability/fa-pageability.md @@ -2,28 +2,30 @@ ## 概述 ### 功能简介 -PageAbility是具备ArkUI实现的Ability,是开发者具体可见并可以交互的Ability实例,开发者通过IDE创建Ability时,IDE会自动创建相关模板代码。PageAbility相关能力通过单例featureAbility暴露,生命周期相关回调通过app.js/app.ets中回调函数暴露。 +PageAbility是具备ArkUI实现的Ability,是开发者具体可见并可以交互的Ability实例。开发者通过IDE创建Ability时,IDE会自动创建相关模板代码。PageAbility相关能力通过单独的featureAbility实现,生命周期相关回调则通过app.js/app.ets中各个回调函数实现。 ### PageAbility的生命周期 -**Ability生命周期介绍**(Ability Life Cycle): +**PageAbility生命周期介绍**(Ability Life Cycle): -Ability生命周期是Ability被调度到INACTIVE、ACTIVE、BACKGROUND等各个状态的统称。PageAbility生命周期流转如下图所示: +PageAbility生命周期是PageAbility被调度到INACTIVE、ACTIVE、BACKGROUND等各个状态的统称。 + +PageAbility生命周期流转如下图所示: ![PageAbility-Lifecycle](figures/page-ability-lifecycle.png) **Ability生命周期状态说明:** - - **UNINITIALIZED**:未初始状态,为临时状态,Ability被创建后会由UNINITIALIZED状态进入INITIAL状态。 + - **UNINITIALIZED**:未初始状态,为临时状态,PageAbility被创建后会由UNINITIALIZED状态进入INITIAL状态。 - - **INITIAL**:初始化状态,也表示停止状态,表示当前Ability未运行,Ability被启动后由INITIAL态进入INACTIVE状态。 + - **INITIAL**:初始化状态,也表示停止状态,表示当前PageAbility未运行,PageAbility被启动后由INITIAL态进入INACTIVE状态。 - **INACTIVE**:失去焦点状态,表示当前窗口已显示但是无焦点状态。 - **ACTIVE**:前台激活状态,表示当前窗口已显示,并获取焦点。 - - **BACKGROUND**:后台状态,表示当前Ability退到后台,Ability在被销毁后由BACKGROUND状态进入INITIAL状态,或者重新被激活后由BACKGROUND状态进入ACTIVE状态。 + - **BACKGROUND**:后台状态,表示当前PageAbility退到后台,PageAbility在被销毁后由BACKGROUND状态进入INITIAL状态,或者重新被激活后由BACKGROUND状态进入ACTIVE状态。 **PageAbility生命周期回调与生命周期状态的关系如下图所示:** @@ -100,6 +102,7 @@ PageAbility提供命周期回调,开发者可以在`app.js/app.ets`中重写 ``` `want`参数也可以使用parameters参数,使用key-value的方式输入。 + **示例** ```javascript @@ -148,6 +151,7 @@ PageAbility提供命周期回调,开发者可以在`app.js/app.ets`中重写 ``` 从DeviceManager获取`deviceId`,具体示例代码如下: + ```ts import deviceManager from '@ohos.distributedHardware.deviceManager'; let dmClass; @@ -167,6 +171,7 @@ PageAbility提供命周期回调,开发者可以在`app.js/app.ets`中重写 ``` 在跨设备场景下,需要向用户申请数据同步的权限。具体示例代码如下: + ```ts import abilityAccessCtrl from "@ohos.abilityAccessCtrl"; import bundle from '@ohos.bundle'; @@ -204,6 +209,7 @@ PageAbility提供命周期回调,开发者可以在`app.js/app.ets`中重写 ``` ### 生命周期接口说明 + **表2** 生命周期回调函数介绍 | 接口名 | 描述 | @@ -216,6 +222,7 @@ PageAbility提供命周期回调,开发者可以在`app.js/app.ets`中重写 | onActive() | Ability切换到前台,并且已经获取焦点时调用onActive方法。 | **示例** + 开发者需要重写`app.js/app.ets`中相关生命周期回调函数,IDE模板默认生成`onCreate()`和`onDestroy()`方法,其他方法需要开发者自行实现。 ```javascript diff --git a/zh-cn/application-dev/quick-start/package-structure.md b/zh-cn/application-dev/quick-start/package-structure.md index 2ee57571b1..a09afe7091 100644 --- a/zh-cn/application-dev/quick-start/package-structure.md +++ b/zh-cn/application-dev/quick-start/package-structure.md @@ -1,6 +1,6 @@ -# 包结构说明 +# 应用包结构配置文件的说明 在应用开发的工程中,需要在config.json配置文件中对应用的包结构进行声明。 -- GitLab