From 682c7d3d25723dcdd7098345c4b76f26d29b4104 Mon Sep 17 00:00:00 2001 From: wuliubao Date: Tue, 7 Jun 2022 11:34:19 +0800 Subject: [PATCH] =?UTF-8?q?IssueNo:#I59H1T=20Description:=E4=BF=AE?= =?UTF-8?q?=E6=94=B9SA/DA/EXT=20=E8=B5=84=E6=96=99=E9=97=AE=E9=A2=98=20Sig?= =?UTF-8?q?:=20SIG=5FApplicationFramework=20Feature=20or=20Bugfix:=20Featu?= =?UTF-8?q?re=20Binary=20Source:=20No?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wuliubao --- .../application-dev/ability/fa-dataability.md | 46 ++++----- .../ability/fa-serviceability.md | 16 +-- .../ability/stage-serviceextension.md | 99 +++++++++---------- 3 files changed, 77 insertions(+), 84 deletions(-) diff --git a/zh-cn/application-dev/ability/fa-dataability.md b/zh-cn/application-dev/ability/fa-dataability.md index e9fd630224..8c566aa444 100644 --- a/zh-cn/application-dev/ability/fa-dataability.md +++ b/zh-cn/application-dev/ability/fa-dataability.md @@ -6,22 +6,22 @@ Data提供方可以自定义数据的增、删、改、查,以及文件打开 ## 接口说明 -**表1** Data中相关生命周期功能介绍 +**表1** Data中相关生命周期API功能介绍 |接口名|描述| |:------|:------| -|onInitialized|在Ability初始化调用,通过此回调方法执行rdb等初始化操作。| -|update|更新数据库中的数据。| -|query|查询数据库中的数据。| -|delete|删除一条或多条数据。| -|normalizeUri|对uri进行规范化。一个规范化的uri可以支持跨设备使用、持久化、备份和还原等,当上下文改变时仍然可以引用到相同的数据项。| -|batchInsert|向数据库中插入多条数据。| -|denormalizeUri|将一个由normalizeUri生产的规范化uri转换成非规范化的uri。| -|insert|向数据中插入一条数据。| -|openFile|打开一个文件。| -|getFileTypes|获取文件的MIME类型。| -|getType|获取uri指定数据相匹配的MIME类型。| -|executeBatch|批量操作数据库中的数据。| -|call|自定义方法。| +|onInitialized?(info: AbilityInfo): void|在Ability初始化调用,通过此回调方法执行rdb等初始化操作。| +|update?(uri: string, valueBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback): void|更新数据库中的数据。| +|query?(uri: string, columns: Array, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback): void|查询数据库中的数据。| +|delete?(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback): void|删除一条或多条数据。| +|normalizeUri?(uri: string, callback: AsyncCallback): void|对uri进行规范化。一个规范化的uri可以支持跨设备使用、持久化、备份和还原等,当上下文改变时仍然可以引用到相同的数据项。| +|batchInsert?(uri: string, valueBuckets: Array, callback: AsyncCallback): void|向数据库中插入多条数据。| +|denormalizeUri?(uri: string, callback: AsyncCallback): void|将一个由normalizeUri生产的规范化uri转换成非规范化的uri。| +|insert?(uri: string, valueBucket: rdb.ValuesBucket, callback: AsyncCallback): void|向数据中插入一条数据。| +|openFile?(uri: string, mode: string, callback: AsyncCallback): void|打开一个文件。| +|getFileTypes?(uri: string, mimeTypeFilter: string, callback: AsyncCallback>): void|获取文件的MIME类型。| +|getType?(uri: string, callback: AsyncCallback): void|获取uri指定数据相匹配的MIME类型。| +|executeBatch?(ops: Array, callback: AsyncCallback>): void|批量操作数据库中的数据。| +|call?(method: string, arg: string, extras: PacMap, callback: AsyncCallback): void|自定义方法。| ## 开发步骤 @@ -97,15 +97,15 @@ Data提供方可以自定义数据的增、删、改、查,以及文件打开 ```json "abilities":[{ - "srcPath": "DataAbility", - "name": ".DataAbility", - "icon": "$media:icon", - "srcLanguage": "ets", - "description": "$string:description_dataability", - "type": "data", - "visible": true, - "uri": "dataability://ohos.samples.etsdataability.DataAbility" - }] + "srcPath": "DataAbility", + "name": ".DataAbility", + "icon": "$media:icon", + "srcLanguage": "ets", + "description": "$string:description_dataability", + "type": "data", + "visible": true, + "uri": "dataability://ohos.samples.etsdataability.DataAbility" + }] ``` ### 访问Data diff --git a/zh-cn/application-dev/ability/fa-serviceability.md b/zh-cn/application-dev/ability/fa-serviceability.md index 335854f911..da697588be 100644 --- a/zh-cn/application-dev/ability/fa-serviceability.md +++ b/zh-cn/application-dev/ability/fa-serviceability.md @@ -5,18 +5,18 @@ ## 接口说明 -**表1** Service中相关生命周期功能介绍 +**表1** Service中相关生命周期API功能介绍 |接口名|描述| |:------|:------| -|onStart|该方法在创建Service的时候调用,用于Service的初始化。在Service的整个生命周期只会调用一次,调用时传入的Want应为空。| -|onCommand|在Service创建完成之后调用,该方法在客户端每次启动该Service时都会调用,开发者可以在该方法中做一些调用统计、初始化类的操作。| -|onConnect|在Ability和Service连接时调用。| -|onDisconnect|在Ability与绑定的Service断开连接时调用。| -|onStop|在Service销毁时调用。Service应通过实现此方法来清理任何资源,如关闭线程、注册的侦听器等。| +|onStart?(): void|该方法在创建Service的时候调用,用于Service的初始化。在Service的整个生命周期只会调用一次,调用时传入的Want应为空。| +|onCommand?(want: Want, startId: number): void|在Service创建完成之后调用,该方法在客户端每次启动该Service时都会调用,开发者可以在该方法中做一些调用统计、初始化类的操作。| +|onConnect?(want: Want): rpc.RemoteObject|在Ability和Service连接时调用。| +|onDisconnect?(want: Want): void|在Ability与绑定的Service断开连接时调用。| +|onStop?(): void|在Service销毁时调用。Service应通过实现此方法来清理任何资源,如关闭线程、注册的侦听器等。| ## 开发步骤 -### 创建Service +### 创建注册Service 1. Service也是一种Ability,Ability为Service提供了以下生命周期方法,开发者可以重写这些方法,来添加其他Ability请求与Service Ability交互时的处理方法。 @@ -113,7 +113,7 @@ let promise = featureAbility.startAbility( ### 停止Service - Service一旦创建就会一直保持在后台运行,除非必须回收内存资源,否则系统不会停止或销毁Service。开发者可以在Service中通过terminateSelf()停止本Service。 + Service一旦创建就会一直保持在后台运行,除非必须回收内存资源,否则系统不会停止或销毁Service。 diff --git a/zh-cn/application-dev/ability/stage-serviceextension.md b/zh-cn/application-dev/ability/stage-serviceextension.md index dc08f94c14..daf703a4ed 100644 --- a/zh-cn/application-dev/ability/stage-serviceextension.md +++ b/zh-cn/application-dev/ability/stage-serviceextension.md @@ -7,75 +7,68 @@ ExtensionAbility,是Stage模型中新增的扩展组件的基类,一般用 ## 接口说明 -**表1** ServiceExtensionAbility中相关生命周期功能介绍 +**表1** ServiceExtensionAbility中相关生命周期API功能介绍 |接口名|描述| |:------|:------| -|onCreate|首次调用startAbility、connectAbility时触发,开发者可以进行初始化操作。| -|onRequest|每次调用startAbility都会触发,首次调用时startId为1,重复调用startAbility递增。| -|onConnect|调用connectAbility触发,重复调用不会再次触发,除非调用disconnectAbility解除绑定后再调用;onConnect返回一个进程通信类RemoteObject。| -|onDisconnect|调用disconnectAbility触发,Extension如果是用connectAbility拉起的,并且已经没有其他应用绑定这个Extension,则会触发onDestroy生命周期销毁组件。| -|onDestroy|调用停止当前ability接口terminateSelf会触发。| +|onCreate(want: Want): void|首次调用startAbility、connectAbility时触发,开发者可以进行初始化操作。| +|onRequest(want: Want, startId: number): void|每次调用startAbility都会触发,首次调用时startId为1,重复调用startAbility递增。| +|onConnect(want: Want): rpc.RemoteObject|调用connectAbility触发,重复调用不会再次触发,除非调用disconnectAbility解除绑定后再调用;onConnect返回一个进程通信类RemoteObject。| +|onDisconnect(want: Want): void|调用disconnectAbility触发,Extension如果是用connectAbility拉起的,并且已经没有其他应用绑定这个Extension,则会触发onDestroy生命周期销毁组件。| +|onDestroy(): void|调用停止当前ability接口terminateSelf会触发。| ## 约束与限制 -- OpenHarmony当前不支持三方应用创建ServiceExtensionAbility。 +OpenHarmony当前不支持三方应用创建ServiceExtensionAbility。 ## 开发步骤 -1.创建ServiceExtensionAbility +1. 需要在应用配置文件module.json中进行注册,注册类型type需要设置为service。module.json配置样例如下所示: -开发者在创建TS文件中自定义类继承ServiceExtensionAbility,重写基类回调函数,示例如下: - - ```js - import rpc from '@ohos.rpc' - class StubTest extends rpc.RemoteObject { - constructor(des) { - super(des); - } - onRemoteRequest(code, data, reply, option) { - } - } - - class ServiceExt extends ServiceExtensionAbility { - onCreate(want) { - console.log('onCreate, want:' + want.abilityName); - } - onRequest(want, startId) { - console.log('onRequest, want:' + want.abilityName); - } - onConnect(want) { - console.log('onConnect , want:' + want.abilityName); - return new StubTest("test"); - } - onDisconnect(want) { - console.log('onDisconnect, want:' + want.abilityName); - } - onDestroy() { - console.log('onDestroy'); - } - } - ``` + ```json + "extensionAbilities":[{ + "name": "ServiceExtAbility", + "icon": "$media:icon", + "description": "service", + "type": "service", + "visible": true, + "srcEntrance": "./ets/ServiceExtAbility/ServiceExtAbility.ts" + }] + ``` -2.注册ServiceExtensionAbility -需要在应用配置文件module.json中进行注册,注册类型type需要设置为service。 +2. 开发者在定义Service的目录下创建TS文件,自定义类继承ServiceExtensionAbility,重写基类回调函数,示例如下: -**module.json配置样例** - -```json -"extensionAbilities":[{ - "name": "ServiceExtAbility", - "icon": "$media:icon", - "description": "service", - "type": "service", - "visible": true, - "srcEntrance": "./ets/ServiceExtAbility/ServiceExtAbility.ts" -}] -``` + ```js + import rpc from '@ohos.rpc' + class StubTest extends rpc.RemoteObject { + constructor(des) { + super(des); + } + onRemoteRequest(code, data, reply, option) { + } + } + class ServiceExt extends ServiceExtensionAbility { + console.log('onCreate, want:' + want.abilityName); + } + onRequest(want, startId) { + console.log('onRequest, want:' + want.abilityName); + } + onConnect(want) { + console.log('onConnect , want:' + want.abilityName); + return new StubTest("test"); + } + onDisconnect(want) { + console.log('onDisconnect, want:' + want.abilityName); + } + onDestroy() { + console.log('onDestroy'); + } + } + ``` ## 相关实例 针对ServiceExtensionAbility开发,有以下相关实例可供参考: -- GitLab