未验证 提交 330175e4 编写于 作者: O openharmony_ci 提交者: Gitee

!4461 SA/DA/EXT 资料问题

Merge pull request !4461 from 刘宝/master
...@@ -6,22 +6,22 @@ Data提供方可以自定义数据的增、删、改、查,以及文件打开 ...@@ -6,22 +6,22 @@ Data提供方可以自定义数据的增、删、改、查,以及文件打开
## 接口说明 ## 接口说明
**表1** Data中相关生命周期功能介绍 **表1** Data中相关生命周期API功能介绍
|接口名|描述| |接口名|描述|
|:------|:------| |:------|:------|
|onInitialized|在Ability初始化调用,通过此回调方法执行rdb等初始化操作。| |onInitialized?(info: AbilityInfo): void|在Ability初始化调用,通过此回调方法执行rdb等初始化操作。|
|update|更新数据库中的数据。| |update?(uri: string, valueBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback<number>): void|更新数据库中的数据。|
|query|查询数据库中的数据。| |query?(uri: string, columns: Array<string>, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback<ResultSet>): void|查询数据库中的数据。|
|delete|删除一条或多条数据。| |delete?(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback<number>): void|删除一条或多条数据。|
|normalizeUri|对uri进行规范化。一个规范化的uri可以支持跨设备使用、持久化、备份和还原等,当上下文改变时仍然可以引用到相同的数据项。| |normalizeUri?(uri: string, callback: AsyncCallback<string>): void|对uri进行规范化。一个规范化的uri可以支持跨设备使用、持久化、备份和还原等,当上下文改变时仍然可以引用到相同的数据项。|
|batchInsert|向数据库中插入多条数据。| |batchInsert?(uri: string, valueBuckets: Array<rdb.ValuesBucket>, callback: AsyncCallback<number>): void|向数据库中插入多条数据。|
|denormalizeUri|将一个由normalizeUri生产的规范化uri转换成非规范化的uri。| |denormalizeUri?(uri: string, callback: AsyncCallback<string>): void|将一个由normalizeUri生产的规范化uri转换成非规范化的uri。|
|insert|向数据中插入一条数据。| |insert?(uri: string, valueBucket: rdb.ValuesBucket, callback: AsyncCallback<number>): void|向数据中插入一条数据。|
|openFile|打开一个文件。| |openFile?(uri: string, mode: string, callback: AsyncCallback<number>): void|打开一个文件。|
|getFileTypes|获取文件的MIME类型。| |getFileTypes?(uri: string, mimeTypeFilter: string, callback: AsyncCallback<Array<string>>): void|获取文件的MIME类型。|
|getType|获取uri指定数据相匹配的MIME类型。| |getType?(uri: string, callback: AsyncCallback<string>): void|获取uri指定数据相匹配的MIME类型。|
|executeBatch|批量操作数据库中的数据。| |executeBatch?(ops: Array<DataAbilityOperation>, callback: AsyncCallback<Array<DataAbilityResult>>): void|批量操作数据库中的数据。|
|call|自定义方法。| |call?(method: string, arg: string, extras: PacMap, callback: AsyncCallback<PacMap>): void|自定义方法。|
## 开发步骤 ## 开发步骤
...@@ -97,15 +97,15 @@ Data提供方可以自定义数据的增、删、改、查,以及文件打开 ...@@ -97,15 +97,15 @@ Data提供方可以自定义数据的增、删、改、查,以及文件打开
```json ```json
"abilities":[{ "abilities":[{
"srcPath": "DataAbility", "srcPath": "DataAbility",
"name": ".DataAbility", "name": ".DataAbility",
"icon": "$media:icon", "icon": "$media:icon",
"srcLanguage": "ets", "srcLanguage": "ets",
"description": "$string:description_dataability", "description": "$string:description_dataability",
"type": "data", "type": "data",
"visible": true, "visible": true,
"uri": "dataability://ohos.samples.etsdataability.DataAbility" "uri": "dataability://ohos.samples.etsdataability.DataAbility"
}] }]
``` ```
### 访问Data ### 访问Data
......
...@@ -5,18 +5,18 @@ ...@@ -5,18 +5,18 @@
## 接口说明 ## 接口说明
**表1** Service中相关生命周期功能介绍 **表1** Service中相关生命周期API功能介绍
|接口名|描述| |接口名|描述|
|:------|:------| |:------|:------|
|onStart|该方法在创建Service的时候调用,用于Service的初始化。在Service的整个生命周期只会调用一次,调用时传入的Want应为空。| |onStart?(): void|该方法在创建Service的时候调用,用于Service的初始化。在Service的整个生命周期只会调用一次,调用时传入的Want应为空。|
|onCommand|在Service创建完成之后调用,该方法在客户端每次启动该Service时都会调用,开发者可以在该方法中做一些调用统计、初始化类的操作。| |onCommand?(want: Want, startId: number): void|在Service创建完成之后调用,该方法在客户端每次启动该Service时都会调用,开发者可以在该方法中做一些调用统计、初始化类的操作。|
|onConnect|在Ability和Service连接时调用。| |onConnect?(want: Want): rpc.RemoteObject|在Ability和Service连接时调用。|
|onDisconnect|在Ability与绑定的Service断开连接时调用。| |onDisconnect?(want: Want): void|在Ability与绑定的Service断开连接时调用。|
|onStop|在Service销毁时调用。Service应通过实现此方法来清理任何资源,如关闭线程、注册的侦听器等。| |onStop?(): void|在Service销毁时调用。Service应通过实现此方法来清理任何资源,如关闭线程、注册的侦听器等。|
## 开发步骤 ## 开发步骤
### 创建Service ### 创建注册Service
1. Service也是一种Ability,Ability为Service提供了以下生命周期方法,开发者可以重写这些方法,来添加其他Ability请求与Service Ability交互时的处理方法。 1. Service也是一种Ability,Ability为Service提供了以下生命周期方法,开发者可以重写这些方法,来添加其他Ability请求与Service Ability交互时的处理方法。
...@@ -113,7 +113,7 @@ let promise = featureAbility.startAbility( ...@@ -113,7 +113,7 @@ let promise = featureAbility.startAbility(
### 停止Service ### 停止Service
Service一旦创建就会一直保持在后台运行,除非必须回收内存资源,否则系统不会停止或销毁Service。开发者可以在Service中通过terminateSelf()停止本Service。 Service一旦创建就会一直保持在后台运行,除非必须回收内存资源,否则系统不会停止或销毁Service。
......
...@@ -7,75 +7,68 @@ ExtensionAbility,是Stage模型中新增的扩展组件的基类,一般用 ...@@ -7,75 +7,68 @@ ExtensionAbility,是Stage模型中新增的扩展组件的基类,一般用
## 接口说明 ## 接口说明
**表1** ServiceExtensionAbility中相关生命周期功能介绍 **表1** ServiceExtensionAbility中相关生命周期API功能介绍
|接口名|描述| |接口名|描述|
|:------|:------| |:------|:------|
|onCreate|首次调用startAbility、connectAbility时触发,开发者可以进行初始化操作。| |onCreate(want: Want): void|首次调用startAbility、connectAbility时触发,开发者可以进行初始化操作。|
|onRequest|每次调用startAbility都会触发,首次调用时startId为1,重复调用startAbility递增。| |onRequest(want: Want, startId: number): void|每次调用startAbility都会触发,首次调用时startId为1,重复调用startAbility递增。|
|onConnect|调用connectAbility触发,重复调用不会再次触发,除非调用disconnectAbility解除绑定后再调用;onConnect返回一个进程通信类RemoteObject。| |onConnect(want: Want): rpc.RemoteObject|调用connectAbility触发,重复调用不会再次触发,除非调用disconnectAbility解除绑定后再调用;onConnect返回一个进程通信类RemoteObject。|
|onDisconnect|调用disconnectAbility触发,Extension如果是用connectAbility拉起的,并且已经没有其他应用绑定这个Extension,则会触发onDestroy生命周期销毁组件。| |onDisconnect(want: Want): void|调用disconnectAbility触发,Extension如果是用connectAbility拉起的,并且已经没有其他应用绑定这个Extension,则会触发onDestroy生命周期销毁组件。|
|onDestroy|调用停止当前ability接口terminateSelf会触发。| |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配置样例** ```js
import rpc from '@ohos.rpc'
```json class StubTest extends rpc.RemoteObject {
"extensionAbilities":[{ constructor(des) {
"name": "ServiceExtAbility", super(des);
"icon": "$media:icon", }
"description": "service", onRemoteRequest(code, data, reply, option) {
"type": "service", }
"visible": true, }
"srcEntrance": "./ets/ServiceExtAbility/ServiceExtAbility.ts"
}]
```
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开发,有以下相关实例可供参考: 针对ServiceExtensionAbility开发,有以下相关实例可供参考:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册