Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
a45422ce
D
Docs
项目概览
OpenHarmony
/
Docs
接近 2 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
a45422ce
编写于
5月 25, 2023
作者:
L
LiRui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add data_share apis
Signed-off-by:
N
LiRui
<
lirui.WX1229126@huawei.com
>
上级
e0f0ebcd
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
606 addition
and
42 deletion
+606
-42
zh-cn/application-dev/reference/apis/js-apis-data-dataShare.md
.../application-dev/reference/apis/js-apis-data-dataShare.md
+568
-41
zh-cn/application-dev/reference/errorcodes/errorcode-datashare.md
...plication-dev/reference/errorcodes/errorcode-datashare.md
+38
-1
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-data-dataShare.md
浏览文件 @
a45422ce
...
@@ -76,7 +76,7 @@ let uri = ("datashare:///com.samples.datasharetest.DataShare");
...
@@ -76,7 +76,7 @@ let uri = ("datashare:///com.samples.datasharetest.DataShare");
let
dataShareHelper
;
let
dataShareHelper
;
try
{
try
{
dataShare
.
createDataShareHelper
(
this
.
context
,
uri
,
(
err
,
data
)
=>
{
dataShare
.
createDataShareHelper
(
this
.
context
,
uri
,
(
err
,
data
)
=>
{
if
(
err
!=
undefined
)
{
if
(
err
!=
=
undefined
)
{
console
.
error
(
`createDataShareHelper error: code:
${
err
.
code
}
, message:
${
err
.
message
}
`
);
console
.
error
(
`createDataShareHelper error: code:
${
err
.
code
}
, message:
${
err
.
message
}
`
);
return
;
return
;
}
}
...
@@ -88,9 +88,57 @@ try {
...
@@ -88,9 +88,57 @@ try {
};
};
```
```
## dataShare.createDataShareHelper<sup>10+</sup>
createDataShareHelper(context: Context, uri: string, options: DataShareHelperOptions, callback: AsyncCallback
<
DataShareHelper
>
): void
创建DataShareHelper实例。使用callback异步回调。
使用规则:
-
调用方应用位于后台时,使用该接口访问DataShareExtension需申请
`ohos.permission.START_ABILITIES_FROM_BACKGROUND`
权限
-
跨应用场景下,目标DataShareExtension的exported属性若配置为false,调用方应用需申请
`ohos.permission.START_INVISIBLE_ABILITY`
权限
-
组件启动规则详见:
[
组件启动规则(Stage模型)
](
../../application-models/component-startup-rules.md
)
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| context |
[
Context
](
js-apis-inner-application-context.md#context
)
| 是 | 应用的上下文环境。 |
| uri | string | 是 | 指示要连接的服务端应用的路径。 |
| options |
[
DataShareHelperOptions
](
#datasharehelperoptions10
)
| 是 | 可选配置。指定
[
DataShareHelper
](
#datasharehelper
)
是否在代理模式下。|
| callback | AsyncCallback
<
[DataShareHelper](#datasharehelper)
>
| 是 | 回调函数。当创建DataShareHelper实例成功,err为undefined,data为获取到的DataShareHelper实例;否则为错误对象。 |
**错误码:**
以下错误码的详细介绍请参见
[
数据共享错误码
](
../errorcodes/errorcode-datashare.md
)
。
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------------------- |
| 15700010 | The DataShareHelper is not initialized successfully. |
**示例:**
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
let
uri
=
(
"
datashareproxy://com.samples.datasharetest.DataShare
"
);
let
dataShareHelper
;
try
{
dataShare
.
createDataShareHelper
(
this
.
context
,
uri
,
{
isProxy
:
true
},
(
err
,
data
)
=>
{
if
(
err
!==
undefined
)
{
console
.
error
(
`createDataShareHelper error: code:
${
err
.
code
}
, message:
${
err
.
message
}
`
);
return
;
}
console
.
info
(
"
createDataShareHelper succeed, data :
"
+
data
);
dataShareHelper
=
data
;
});
}
catch
(
err
)
{
console
.
error
(
`createDataShareHelper error: code:
${
err
.
code
}
, message:
${
err
.
message
}
`
);
};
```
## dataShare.createDataShareHelper
## dataShare.createDataShareHelper
createDataShareHelper(context: Context, uri: string): Promise
<
DataShareHelper
>
createDataShareHelper(context: Context, uri: string
, options?: DataShareHelperOptions
): Promise
<
DataShareHelper
>
创建DataShareHelper实例。使用Promise异步回调。
创建DataShareHelper实例。使用Promise异步回调。
...
@@ -107,6 +155,7 @@ createDataShareHelper(context: Context, uri: string): Promise<DataShareHelper
...
@@ -107,6 +155,7 @@ createDataShareHelper(context: Context, uri: string): Promise<DataShareHelper
| ------- | ------------------------------------------------- | ---- | ------------------------------ |
| ------- | ------------------------------------------------- | ---- | ------------------------------ |
| context |
[
Context
](
js-apis-inner-application-context.md#context
)
| 是 | 应用的上下文环境。 |
| context |
[
Context
](
js-apis-inner-application-context.md#context
)
| 是 | 应用的上下文环境。 |
| uri | string | 是 | 指示要连接的服务端应用的路径。 |
| uri | string | 是 | 指示要连接的服务端应用的路径。 |
| options |
[
DataShareHelperOptions
](
#datasharehelperoptions10
)
| 否 | 可选配置。从API version 10开始支持此参数,如果不设置,则表示
[
DataShareHelper
](
#datasharehelper
)
不在代理模式下。|
**返回值:**
**返回值:**
...
@@ -127,10 +176,10 @@ createDataShareHelper(context: Context, uri: string): Promise<DataShareHelper
...
@@ -127,10 +176,10 @@ createDataShareHelper(context: Context, uri: string): Promise<DataShareHelper
```
ts
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
let
uri
=
(
"
datashare
:/
//com.samples.datasharetest.DataShare
"
);
let
uri
=
(
"
datashare
proxy:
//com.samples.datasharetest.DataShare
"
);
let
dataShareHelper
;
let
dataShareHelper
;
try
{
try
{
dataShare
.
createDataShareHelper
(
this
.
context
,
uri
).
then
((
data
)
=>
{
dataShare
.
createDataShareHelper
(
this
.
context
,
uri
,
{
isProxy
:
true
}
).
then
((
data
)
=>
{
console
.
info
(
"
createDataShareHelper succeed, data :
"
+
data
);
console
.
info
(
"
createDataShareHelper succeed, data :
"
+
data
);
dataShareHelper
=
data
;
dataShareHelper
=
data
;
}).
catch
((
err
)
=>
{
}).
catch
((
err
)
=>
{
...
@@ -141,6 +190,83 @@ try {
...
@@ -141,6 +190,83 @@ try {
};
};
```
```
## DataShareHelperOptions<sup>10+</sup>
指定
[
DataShareHelper
](
#datasharehelper
)
是否在代理模式下。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| isProxy | boolean | 否 | 默认为false,如果为true,则要创建的
[
DataShareHelper
](
#datasharehelper
)
处于代理模式,所有操作都不会打开数据提供者APP,除非数据库不存在,当数据库不存在时,
[
createDataShareHelper
](
#datasharecreatedatasharehelper10
)
会拉起数据提供者创建数据库。 |
## TemplateId<sup>10+</sup>
标记模板的数据结构,TemplateId是在
[
addTemplate
](
#addtemplate10
)
中自动生成的,在
[
addTemplate
](
#addtemplate10
)
后,可以使用模板id来标记模板。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| subscriberId | string | 是 | 指定处理回调的订阅者的id,与
[
addTemplate
](
#addtemplate10
)
中的subscriberId相同,每个订阅者的ID是唯一的。 |
| bundleNameOfOwner | string | 是 | 指定创建模板的模板所有者的bundleName,与
[
addTemplate
](
#addtemplate10
)
中的bundleName相同。 |
## PublishedItem<sup>10+</sup>
指定发布的数据类型。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | string | 是 | 指定发布数据的键。 |
| data | string
\|
[
Ashmem
](
js-apis-rpc.md#ashmem8
)
| 是 | 指定发布的数据。如果数据很大,请使用Ashmem。 |
| subscriberId | string | 是 | 指定订阅者id。 |
## RdbDataChangeNode<sup>10+</sup>
订阅/取消订阅RDB数据变更的结果。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| uri | string | 是 | 指定回调的uri。 |
| templateId |
[
TemplateId
](
#templateid10
)
| 是 | 处理回调的templateId。 |
| data | Array
<
string
>
| 是 | 指定回调的数据。 |
## PublishedDataChangeNode<sup>10+</sup>
订阅/取消订阅已发布数据变更的结果。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 指定回调的bundleName。 |
| data | Array
<
[PublishedItem](#publisheditem10)
>
| 是 | 指定回调的数据。 |
## Template<sup>10+</sup>
指定订阅中的模板结构。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| predicates | {
[
key: string]: string } | 是 | 指定模板的谓词。当调用[on
](
#onrdbdatachange10
)
的回调时,谓词用于生成数据。仅适用于rdb存储数据。 |
| scheduler | string | 是 | 指定模板的调度程序sql。其中嵌入自定义函数处理,目前预置自定义函数remindTimer处理。remindTimer在指定场景触发一次订阅刷新。
<br/>
触发场景:
<br/>
1. 修改数据时且有订阅的情况下触发对应的调度程序sql语句。
<br/>
2. 添加对应库第一个订阅的情况下触发对应的调度程序sql语句。 |
## OperationResult<sup>10+</sup>
订阅/取消订阅数据变更和发布数据的操作结果。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | ----- | -------- |
| key | string | 是 | 指定运算结果的键。 |
| result | number | 是 | 指定运算结果。 |
## DataShareHelper
## DataShareHelper
DataShare管理工具实例,可使用此实例访问或管理服务端的数据。在调用DataShareHelper提供的方法前,需要先通过
[
createDataShareHelper
](
#datasharecreatedatasharehelper
)
构建一个实例。
DataShare管理工具实例,可使用此实例访问或管理服务端的数据。在调用DataShareHelper提供的方法前,需要先通过
[
createDataShareHelper
](
#datasharecreatedatasharehelper
)
构建一个实例。
...
@@ -164,8 +290,6 @@ on(type: 'dataChange', uri: string, callback: AsyncCallback<void>): void
...
@@ -164,8 +290,6 @@ on(type: 'dataChange', uri: string, callback: AsyncCallback<void>): void
**示例:**
**示例:**
```
ts
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
function
onCallback
()
{
function
onCallback
()
{
console
.
info
(
"
**** Observer on callback ****
"
);
console
.
info
(
"
**** Observer on callback ****
"
);
}
}
...
@@ -192,8 +316,6 @@ off(type: 'dataChange', uri: string, callback?: AsyncCallback<void>): void
...
@@ -192,8 +316,6 @@ off(type: 'dataChange', uri: string, callback?: AsyncCallback<void>): void
**示例:**
**示例:**
```
ts
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
function
callback
()
{
function
callback
()
{
console
.
info
(
"
**** Observer callback ****
"
);
console
.
info
(
"
**** Observer callback ****
"
);
}
}
...
@@ -202,6 +324,437 @@ dataShareHelper.on("dataChange", uri, callback);
...
@@ -202,6 +324,437 @@ dataShareHelper.on("dataChange", uri, callback);
dataShareHelper
.
off
(
"
dataChange
"
,
uri
,
callback
);
dataShareHelper
.
off
(
"
dataChange
"
,
uri
,
callback
);
```
```
### addTemplate<sup>10+</sup>
addTemplate(uri: string, subscriberId: string, template: Template): void
添加一个指定订阅者的数据模板。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | -------------------------|
| uri | string | 是 | 指示要插入的数据的路径。 |
| subscriberId | string | 是 | 要添加模板的订阅者ID,每个订阅者的ID是唯一的。 |
| template |
[
Template
](
#template10
)
| 是 | 要添加的数据模板。 |
**错误码:**
以下错误码的详细介绍请参见
[
数据共享错误码
](
../errorcodes/errorcode-datashare.md
)
。
| 错误码ID | 错误信息 |
| -------- | -------------------- |
| 15700011 | The uri is not exist.|
**示例:**
```
ts
let
uri
=
(
"
datashareproxy://com.samples.datasharetest.DataShare
"
);
let
subscriberId
=
'
11
'
;
let
template
=
{
predicates
:
{
"
p1
"
:
"
select cityColumn as city_1, visitedCilumn as visited_1 from citys where like = true
"
,
"
p2
"
:
"
select cityColumn as city_2, visitedCilumn as visited_2 from citys where like = false
"
,
},
scheduler
:
"
select remindTimer(time) from TBL00
"
}
dataShareHelper
.
addTemplate
(
uri
,
subscriberId
,
template
);
```
### delTemplate<sup>10+</sup>
delTemplate(uri: string, subscriberId: string): void
删除一个指定订阅者的数据模板。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------| ---- | ------------------------- |
| uri | string | 是 | 指示要插入的数据的路径。 |
| subscriberId | string | 是 | 订阅者ID,每个订阅者的ID是唯一的。 |
**错误码:**
以下错误码的详细介绍请参见
[
数据共享错误码
](
../errorcodes/errorcode-datashare.md
)
。
| 错误码ID | 错误信息 |
| -------- | -------------------- |
| 15700011 | The uri is not exist.|
**示例:**
```
ts
let
uri
=
(
"
datashareproxy://com.samples.datasharetest.DataShare
"
);
let
subscriberId
=
'
11
'
;
let
template
=
{
predicates
:
{
"
p1
"
:
"
select cityColumn as city_1, visitedCilumn as visited_1 from citys where like = true
"
,
"
p2
"
:
"
select cityColumn as city_2, visitedCilumn as visited_2 from citys where like = false
"
,
},
scheduler
:
"
select remindTimer(time) from TBL00
"
}
dataShareHelper
.
addTemplate
(
uri
,
subscriberId
,
template
);
dataShareHelper
.
delTemplate
(
uri
,
subscriberId
);
```
### on('rdbDataChange')<sup>10+</sup>
on(type: 'rdbDataChange', uris: Array
<
string
>
, templateId: TemplateId, callback: AsyncCallback
<
RdbDataChangeNode
>
): Array
<
OperationResult
>
订阅指定URI和模板对应的数据变更事件。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------| ---- | ------------------------------------------------------------ |
| type | string | 是 | 订阅的事件类型,支持的事件为'rdbDataChange',表示rdb数据的变更事件。 |
| uris | Array
<
string
>
| 是 | 要操作的数据的路径。 |
| templateId |
[
TemplateId
](
#templateid10
)
| 是 | 处理回调的templateId。 |
| callback | AsyncCallback
<
[RdbDataChangeNode](#rdbdatachangenode10)
>
| 是 | 回调函数。当触发变更通知时调用,err为undefined,node为订阅数据变更结果;否则不被触发或为错误对象。 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------------------------ |
| Array
<
[OperationResult](#operationresult10)
>
| 返回操作结果。|
**示例:**
```
ts
function
onCallback
(
err
,
node
:
dataShare
.
RdbDataChangeNode
)
{
console
.
info
(
"
onCallback
"
+
JSON
.
stringify
(
node
.
uri
));
console
.
info
(
"
onCallback
"
+
JSON
.
stringify
(
node
.
templateId
));
console
.
info
(
"
onCallback
"
+
node
.
data
.
length
);
for
(
let
i
=
0
;
i
<
node
.
data
.
length
;
i
++
)
{
console
.
info
(
"
onCallback
"
+
typeof
node
.
data
[
i
]
+
"
"
+
node
.
data
[
i
]);
}
}
let
uri
=
(
"
datashareproxy://com.samples.datasharetest.DataShare
"
);
let
templateId
:
dataShare
.
TemplateId
=
{
subscriberId
:
"
11
"
,
bundleNameOfOwner
:
"
com.acts.ohos.data.datasharetest
"
};
let
result
:
Array
<
dataShare
.
OperationResult
>
=
dataShareHelper
.
on
(
"
rdbDataChange
"
,
[
uri
],
templateId
,
onCallback
);
```
### off('rdbDataChange')<sup>10+</sup>
off(type: 'rdbDataChange', uris: Array
<
string
>
, templateId: TemplateId, callback?: AsyncCallback
<
RdbDataChangeNode
>
): Array
<
OperationResult
>
取消订阅指定URI和模板对应的数据变更事件。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------------- | ---- | ---------------------------------------------------------- |
| type | string | 是 | 取消订阅的事件类型,支持的事件为'rdbDataChange',表示rdb数据的变更事件。 |
| uris | Array
<
string
>
| 是 | 要操作的数据的路径。 |
| templateId |
[
TemplateId
](
#templateid10
)
| 是 | 处理回调的templateId。 |
| callback | AsyncCallback
<
[RdbDataChangeNode](#rdbdatachangenode10)
>
| 否 | 回调函数。表示指定取消订阅的callback通知,如果为空,则取消订阅该uri下所有的通知事件。 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------------------------ |
| Array
<
[OperationResult](#operationresult10)
>
| 返回操作结果。|
**示例:**
```
ts
let
uri
=
(
"
datashareproxy://com.samples.datasharetest.DataShare
"
);
let
templateId
:
dataShare
.
TemplateId
=
{
subscriberId
:
"
11
"
,
bundleNameOfOwner
:
"
com.acts.ohos.data.datasharetest
"
};
let
result
:
Array
<
dataShare
.
OperationResult
>
=
dataShareHelper
.
off
(
"
rdbDataChange
"
,
[
uri
],
templateId
);
```
### on('publishedDataChange')<sup>10+</sup>
on(type: 'publishedDataChange', uris: Array
<
string
>
, subscriberId: string, callback: AsyncCallback
<
PublishedDataChangeNode
>
): Array
<
OperationResult
>
订阅已发布数据的数据变更通知。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------| ---- | ------------------------------------------------------------ |
| type | string | 是 | 订阅的事件类型,支持的事件为'publishedDataChange',表示已发布数据的变更事件。 |
| uris | Array
<
string
>
| 是 | 要操作的数据的路径。 |
| subscriberId | string | 是 | 指定处理回调的用户ID。 |
| callback | AsyncCallback
<
[PublishedDataChangeNode](#publisheddatachangenode10)
>
| 是 | 回调函数。当触发变更通知时调用,err为undefined,node为订阅数据变更结果;否则不被触发或为错误对象。 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------------------------ |
| Array
<
[OperationResult](#operationresult10)
>
| 返回操作结果。|
**示例:**
```
ts
import
rpc
from
'
@ohos.rpc
'
;
function
onPublishCallback
(
err
,
node
:
dataShare
.
PublishedDataChangeNode
)
{
console
.
info
(
"
onPublishCallback node bundleName
"
+
JSON
.
stringify
(
node
.
bundleName
));
console
.
info
(
"
onPublishCallback node data size
"
+
node
.
data
.
length
);
for
(
let
i
=
0
;
i
<
node
.
data
.
length
;
i
++
)
{
console
.
info
(
"
onPublishCallback node
"
+
typeof
node
.
data
[
i
].
data
);
if
(
typeof
node
.
data
[
i
].
data
!=
'
string
'
)
{
let
ash
:
rpc
.
Ashmem
=
node
.
data
[
i
].
data
;
ash
.
mapReadonlyAshmem
();
console
.
info
(
"
onPublishCallback
"
+
JSON
.
stringify
(
ash
.
readAshmem
(
ash
.
getAshmemSize
()
/
4
,
0
)));
ash
.
closeAshmem
();
}
console
.
info
(
"
onPublishCallback data
"
+
i
+
"
"
+
JSON
.
stringify
(
node
.
data
[
i
]));
}
}
let
uris
:
Array
<
string
>
=
[
'
city
'
,
'
datashareproxy://com.acts.ohos.data.datasharetest/appInfo
'
,
'
key2
'
];
let
subscriberId
=
'
11
'
;
let
result
:
Array
<
dataShare
.
OperationResult
>
=
dataShareHelper
.
on
(
'
publishedDataChange
'
,
uris
,
subscriberId
,
onPublishCallback
);
```
### off('publishedDataChange')<sup>10+</sup>
off(type: 'publishedDataChange', uris: Array
<
string
>
, subscriberId: string, callback?: AsyncCallback
<
PublishedDataChangeNode
>
): Array
<
OperationResult
>
取消订阅已发布数据的数据变更通知。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------------- | ---- | ---------------------------------------------------------- |
| type | string | 是 | 取消订阅的事件类型,支持的事件为'publishedDataChange',表示已发布数据的变更事件。|
| uris | Array
<
string
>
| 是 | 要操作的数据的路径。 |
| subscriberId | string | 是 | 指定处理回调的用户ID。 |
| callback | AsyncCallback
<
[PublishedDataChangeNode](#publisheddatachangenode10)
>
| 否 | 回调函数。表示指定取消订阅的callback通知,如果为空,则取消订阅该uri下所有的通知事件。 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------------------------ |
| Array
<
[OperationResult](#operationresult10)
>
| 返回操作结果。|
**示例:**
```
ts
function
offCallback
(
err
,
node
:
dataShare
.
PublishedDataChangeNode
)
{
console
.
info
(
"
**** Observer off callback ****
"
);
}
let
uris
:
Array
<
string
>
=
[
"
city
"
,
"
datashareproxy://com.acts.ohos.data.datasharetest/appInfo
"
,
"
key2
"
];
let
subscriberId
=
'
11
'
;
let
result
:
Array
<
dataShare
.
OperationResult
>
=
dataShareHelper
.
off
(
"
publishedDataChange
"
,
uris
,
subscriberId
,
offCallback
);
```
### publish<sup>10+</sup>
publish(data: Array
<
PublishedItem
>
, bundleName: string, version: number, callback: AsyncCallback
<
Array
<
OperationResult
>>
): void
发布数据,将数据数据更新至数据库。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | -------------------------------------------------| ---- | ------------------- |
| data | Array
<
[PublishedItem](#publisheditem10)
>
| 是 | 指示要发布的数据。 |
| bundleName | string | 是 | 表示要发布数据所属的APP,对发布的私有数据生效,仅该app可以读取数据。 |
| version | number | 是 | 指示要发布的数据版本,越大表示数据版本越新。如果发布的版本号小于数据库中的记录,则更新失败。 |
| callback | AsyncCallback
<
Array
<
[OperationResult](#operationresult10)
>>
| 是 | 回调函数。当发布数据时调用,err为undefined,result为发布数据结果;否则不被触发或为错误对象。 |
**错误码:**
以下错误码的详细介绍请参见
[
数据共享错误码
](
../errorcodes/errorcode-datashare.md
)
。
| 错误码ID | 错误信息 |
| -------- | -------------------------- |
| 15700012 | The data area is not exist.|
**示例:**
```
ts
import
rpc
from
'
@ohos.rpc
'
;
let
ashmem
=
null
;
let
subscriberId
=
'
11
'
;
let
version
=
1
;
let
data
:
Array
<
dataShare
.
PublishedItem
>
=
[
{
key
:
"
city
"
,
subscriberId
:
"
11
"
,
data
:
"
xian
"
},
{
key
:
"
datashareproxy://com.acts.ohos.data.datasharetest/appInfo
"
,
subscriberId
:
"
11
"
,
data
:
"
appinfo is just a test app
"
},
{
key
:
"
empty
"
,
subscriberId
:
"
11
"
,
data
:
"
nobody sub
"
}];
let
nums
:
number
[]
=
[
1
,
2
,
3
];
function
publishCallback
(
err
,
result
:
Array
<
dataShare
.
OperationResult
>
)
{
console
.
log
(
"
publishCallback
"
+
JSON
.
stringify
(
result
));
ashmem
.
closeAshmem
();
}
try
{
ashmem
=
rpc
.
Ashmem
.
create
(
"
ashmem
"
,
(
nums
.
length
)
*
4
);
ashmem
.
mapReadWriteAshmem
();
ashmem
.
writeAshmem
(
nums
,
nums
.
length
,
0
);
data
.
push
({
"
key
"
:
"
key2
"
,
"
data
"
:
ashmem
,
"
subscriberId
"
:
"
11
"
,
});
console
.
log
(
"
data length is:
"
,
data
.
length
);
dataShareHelper
.
publish
(
data
,
"
com.acts.ohos.data.datasharetest
"
,
version
,
publishCallback
);
}
catch
(
e
)
{
console
.
log
(
"
publish error
"
+
JSON
.
stringify
(
e
));
}
```
### publish<sup>10+</sup>
publish(data: Array
<
PublishedItem
>
, bundleName: string, callback: AsyncCallback
<
Array
<
OperationResult
>>
): void
发布数据,将数据数据更新至数据库。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------- | ---- | ---------------------------------- |
| data | Array
<
[PublishedItem](#publisheditem10)
>
| 是 | 指示要发布的数据。 |
| bundleName | string | 是 | 表示要发布数据所属的APP,对发布的私有数据生效,仅该app可以读取数据。 |
| callback | AsyncCallback
<
Array
<
[OperationResult](#operationresult10)
>>
| 是 | 回调函数。当发布数据时调用,err为undefined,result为发布数据结果;否则不被触发或为错误对象。 |
**示例:**
**错误码:**
以下错误码的详细介绍请参见
[
数据共享错误码
](
../errorcodes/errorcode-datashare.md
)
。
| 错误码ID | 错误信息 |
| -------- | -------------------------- |
| 15700012 | The data area is not exist.|
```
ts
function
publishCallback
(
err
,
result
:
Array
<
dataShare
.
OperationResult
>
)
{
console
.
log
(
"
publishCallback
"
+
JSON
.
stringify
(
result
));
}
let
data
:
Array
<
dataShare
.
PublishedItem
>
=
[
{
key
:
"
city
"
,
subscriberId
:
"
11
"
,
data
:
"
xian
"
},
{
key
:
"
datashareproxy://com.acts.ohos.data.datasharetest/appInfo
"
,
subscriberId
:
"
11
"
,
data
:
"
appinfo is just a test app
"
},
{
key
:
"
empty
"
,
subscriberId
:
"
11
"
,
data
:
"
nobody sub
"
}];
dataShareHelper
.
publish
(
data
,
"
com.acts.ohos.data.datasharetest
"
,
publishCallback
);
```
### publish<sup>10+</sup>
publish(data: Array
<
PublishedItem
>
, bundleName: string, version?: number): Promise
<
Array
<
OperationResult
>>
发布数据,将数据数据更新至数据库。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------- | ---- | ------------------------------ |
| data | Array
<
[PublishedItem](#publisheditem10)
>
| 是 | 指示要发布的数据。|
| bundleName | string | 是 | 表示要发布数据所属的APP,对发布的私有数据生效,仅该app可以读取数据。 |
| version | number | 否 | 指示要发布的数据版本,越大表示数据版本越新。如果发布的版本号小于数据库中的记录,则更新失败。
<br/>
如果不检查要发布的数据版本,则不填。 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------------------------ |
| Promise
<
Array
<
[OperationResult](#operationresult10)
>>
| 发布数据结果。|
**错误码:**
以下错误码的详细介绍请参见
[
数据共享错误码
](
../errorcodes/errorcode-datashare.md
)
。
| 错误码ID | 错误信息 |
| -------- | -------------------------- |
| 15700012 | The data area is not exist.|
**示例:**
```
ts
let
data
:
Array
<
dataShare
.
PublishedItem
>
=
[
{
key
:
"
city
"
,
subscriberId
:
"
11
"
,
data
:
"
xian
"
},
{
key
:
"
datashareproxy://com.acts.ohos.data.datasharetest/appInfo
"
,
subscriberId
:
"
11
"
,
data
:
"
appinfo is just a test app
"
},
{
key
:
"
empty
"
,
subscriberId
:
"
11
"
,
data
:
"
nobody sub
"
}];
let
result
:
Array
<
dataShare
.
OperationResult
>
=
dataShareHelper
.
publish
(
data
,
"
com.acts.ohos.data.datasharetest
"
);
```
### getPublishedData<sup>10+</sup>
getPublishedData(bundleName: string, callback: AsyncCallback
<
Array
<
PublishedItem
>>
): void
获取给定的APP和模板指定的数据。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -----------------| ---- | ----------------------------- |
| bundleName | string | 是 | 表示数据所属的APP。 |
| callback | AsyncCallback
<
Array
<
[PublishedItem](#publisheditem10)
>>
| 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见
[
数据共享错误码
](
../errorcodes/errorcode-datashare.md
)
。
| 错误码ID | 错误信息 |
| -------- | -------------------------- |
| 15700012 | The data area is not exist.|
**示例:**
```
ts
function
publishCallback
(
err
,
data
:
Array
<
dataShare
.
PublishedItem
>
)
{
console
.
info
(
"
**** Observer publish callback ****
"
);
}
dataShareHelper
.
getPublishedData
(
"
com.acts.ohos.data.datasharetest
"
,
publishCallback
);
```
### getPublishedData<sup>10+</sup>
getPublishedData(bundleName: string): Promise
<
Array
<
PublishedItem
>>
获取给定的APP和模板指定的数据。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------| ---- | -------------------------------------- |
| bundleName | string | 是 | 表示数据所属的APP。 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------------------------ |
| Promise
<
Array
<
[PublishedItem](#publisheditem10)
>>
| Promise对象。返回给定的APP和模板指定的数据。|
**错误码:**
以下错误码的详细介绍请参见
[
数据共享错误码
](
../errorcodes/errorcode-datashare.md
)
。
| 错误码ID | 错误信息 |
| -------- | -------------------------- |
| 15700012 | The data area is not exist.|
**示例:**
```
ts
let
publishedData
:
Array
<
dataShare
.
PublishedItem
>
=
dataShareHelper
.
getPublishedData
(
"
com.acts.ohos.data.datasharetest
"
);
```
### insert
### insert
insert(uri: string, value: ValuesBucket, callback: AsyncCallback
<
number
>
): void
insert(uri: string, value: ValuesBucket, callback: AsyncCallback
<
number
>
): void
...
@@ -221,8 +774,6 @@ insert(uri: string, value: ValuesBucket, callback: AsyncCallback<number>):
...
@@ -221,8 +774,6 @@ insert(uri: string, value: ValuesBucket, callback: AsyncCallback<number>):
**示例:**
**示例:**
```
ts
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
const
valueBucket
=
{
const
valueBucket
=
{
"
name
"
:
"
rose
"
,
"
name
"
:
"
rose
"
,
...
@@ -231,7 +782,7 @@ const valueBucket = {
...
@@ -231,7 +782,7 @@ const valueBucket = {
}
}
try
{
try
{
dataShareHelper
.
insert
(
uri
,
valueBucket
,
(
err
,
data
)
=>
{
dataShareHelper
.
insert
(
uri
,
valueBucket
,
(
err
,
data
)
=>
{
if
(
err
!=
undefined
)
{
if
(
err
!=
=
undefined
)
{
console
.
error
(
`insert error: code:
${
err
.
code
}
, message:
${
err
.
message
}
`
);
console
.
error
(
`insert error: code:
${
err
.
code
}
, message:
${
err
.
message
}
`
);
return
;
return
;
}
}
...
@@ -266,8 +817,6 @@ insert(uri: string, value: ValuesBucket): Promise<number>
...
@@ -266,8 +817,6 @@ insert(uri: string, value: ValuesBucket): Promise<number>
**示例:**
**示例:**
```
ts
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
const
valueBucket
=
{
const
valueBucket
=
{
"
name
"
:
"
rose1
"
,
"
name
"
:
"
rose1
"
,
...
@@ -304,7 +853,6 @@ delete(uri: string, predicates: dataSharePredicates.DataSharePredicates, callbac
...
@@ -304,7 +853,6 @@ delete(uri: string, predicates: dataSharePredicates.DataSharePredicates, callbac
**示例:**
**示例:**
```
ts
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
...
@@ -312,7 +860,7 @@ let da = new dataSharePredicates.DataSharePredicates();
...
@@ -312,7 +860,7 @@ let da = new dataSharePredicates.DataSharePredicates();
da
.
equalTo
(
"
name
"
,
"
ZhangSan
"
);
da
.
equalTo
(
"
name
"
,
"
ZhangSan
"
);
try
{
try
{
dataShareHelper
.
delete
(
uri
,
da
,
(
err
,
data
)
=>
{
dataShareHelper
.
delete
(
uri
,
da
,
(
err
,
data
)
=>
{
if
(
err
!=
undefined
)
{
if
(
err
!=
=
undefined
)
{
console
.
error
(
`delete error: code:
${
err
.
code
}
, message:
${
err
.
message
}
`
);
console
.
error
(
`delete error: code:
${
err
.
code
}
, message:
${
err
.
message
}
`
);
return
;
return
;
}
}
...
@@ -347,7 +895,6 @@ delete(uri: string, predicates: dataSharePredicates.DataSharePredicates): Promis
...
@@ -347,7 +895,6 @@ delete(uri: string, predicates: dataSharePredicates.DataSharePredicates): Promis
**示例:**
**示例:**
```
ts
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
...
@@ -384,7 +931,6 @@ query(uri: string, predicates: dataSharePredicates.DataSharePredicates, columns:
...
@@ -384,7 +931,6 @@ query(uri: string, predicates: dataSharePredicates.DataSharePredicates, columns:
**示例:**
**示例:**
```
ts
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
...
@@ -393,7 +939,7 @@ let da = new dataSharePredicates.DataSharePredicates();
...
@@ -393,7 +939,7 @@ let da = new dataSharePredicates.DataSharePredicates();
da
.
equalTo
(
"
name
"
,
"
ZhangSan
"
);
da
.
equalTo
(
"
name
"
,
"
ZhangSan
"
);
try
{
try
{
dataShareHelper
.
query
(
uri
,
da
,
columns
,
(
err
,
data
)
=>
{
dataShareHelper
.
query
(
uri
,
da
,
columns
,
(
err
,
data
)
=>
{
if
(
err
!=
undefined
)
{
if
(
err
!=
=
undefined
)
{
console
.
error
(
`query error: code:
${
err
.
code
}
, message:
${
err
.
message
}
`
);
console
.
error
(
`query error: code:
${
err
.
code
}
, message:
${
err
.
message
}
`
);
return
;
return
;
}
}
...
@@ -429,7 +975,6 @@ query(uri: string, predicates: dataSharePredicates.DataSharePredicates, columns:
...
@@ -429,7 +975,6 @@ query(uri: string, predicates: dataSharePredicates.DataSharePredicates, columns:
**示例:**
**示例:**
```
ts
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
...
@@ -467,7 +1012,6 @@ update(uri: string, predicates: dataSharePredicates.DataSharePredicates, value:
...
@@ -467,7 +1012,6 @@ update(uri: string, predicates: dataSharePredicates.DataSharePredicates, value:
**示例:**
**示例:**
```
ts
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
...
@@ -481,7 +1025,7 @@ const va = {
...
@@ -481,7 +1025,7 @@ const va = {
}
}
try
{
try
{
dataShareHelper
.
update
(
uri
,
da
,
va
,
(
err
,
data
)
=>
{
dataShareHelper
.
update
(
uri
,
da
,
va
,
(
err
,
data
)
=>
{
if
(
err
!=
undefined
)
{
if
(
err
!=
=
undefined
)
{
console
.
error
(
`update error: code:
${
err
.
code
}
, message:
${
err
.
message
}
`
);
console
.
error
(
`update error: code:
${
err
.
code
}
, message:
${
err
.
message
}
`
);
return
;
return
;
}
}
...
@@ -517,7 +1061,6 @@ update(uri: string, predicates: dataSharePredicates.DataSharePredicates, value:
...
@@ -517,7 +1061,6 @@ update(uri: string, predicates: dataSharePredicates.DataSharePredicates, value:
**示例:**
**示例:**
```
ts
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
...
@@ -559,15 +1102,13 @@ batchInsert(uri: string, values: Array<ValuesBucket>, callback: AsyncCallb
...
@@ -559,15 +1102,13 @@ batchInsert(uri: string, values: Array<ValuesBucket>, callback: AsyncCallb
**示例:**
**示例:**
```
ts
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
vbs
=
new
Array
({
"
name
"
:
"
roe11
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,},
let
vbs
=
new
Array
({
"
name
"
:
"
roe11
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,},
{
"
name
"
:
"
roe12
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,},
{
"
name
"
:
"
roe12
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,},
{
"
name
"
:
"
roe13
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,})
{
"
name
"
:
"
roe13
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,})
try
{
try
{
dataShareHelper
.
batchInsert
(
uri
,
vbs
,
(
err
,
data
)
=>
{
dataShareHelper
.
batchInsert
(
uri
,
vbs
,
(
err
,
data
)
=>
{
if
(
err
!=
undefined
)
{
if
(
err
!=
=
undefined
)
{
console
.
error
(
`batchInsert error: code:
${
err
.
code
}
, message:
${
err
.
message
}
`
);
console
.
error
(
`batchInsert error: code:
${
err
.
code
}
, message:
${
err
.
message
}
`
);
return
;
return
;
}
}
...
@@ -602,8 +1143,6 @@ batchInsert(uri: string, values: Array<ValuesBucket>): Promise<number&g
...
@@ -602,8 +1143,6 @@ batchInsert(uri: string, values: Array<ValuesBucket>): Promise<number&g
**示例:**
**示例:**
```
ts
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
vbs
=
new
Array
({
"
name
"
:
"
roe11
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,},
let
vbs
=
new
Array
({
"
name
"
:
"
roe11
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,},
{
"
name
"
:
"
roe12
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,},
{
"
name
"
:
"
roe12
"
,
"
age
"
:
21
,
"
salary
"
:
20.5
,},
...
@@ -637,11 +1176,9 @@ normalizeUri(uri: string, callback: AsyncCallback<string>): void
...
@@ -637,11 +1176,9 @@ normalizeUri(uri: string, callback: AsyncCallback<string>): void
**示例:**
**示例:**
```
ts
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
dataShareHelper
.
normalizeUri
(
uri
,
(
err
,
data
)
=>
{
dataShareHelper
.
normalizeUri
(
uri
,
(
err
,
data
)
=>
{
if
(
err
!=
undefined
)
{
if
(
err
!=
=
undefined
)
{
console
.
log
(
"
normalizeUri failed, error message :
"
+
err
);
console
.
log
(
"
normalizeUri failed, error message :
"
+
err
);
}
else
{
}
else
{
console
.
log
(
"
normalizeUri =
"
+
data
);
console
.
log
(
"
normalizeUri =
"
+
data
);
...
@@ -672,8 +1209,6 @@ normalizeUri(uri: string): Promise<string>
...
@@ -672,8 +1209,6 @@ normalizeUri(uri: string): Promise<string>
**示例:**
**示例:**
```
ts
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
dataShareHelper
.
normalizeUri
(
uri
).
then
((
data
)
=>
{
dataShareHelper
.
normalizeUri
(
uri
).
then
((
data
)
=>
{
console
.
log
(
"
normalizeUri =
"
+
data
);
console
.
log
(
"
normalizeUri =
"
+
data
);
...
@@ -700,11 +1235,9 @@ denormalizeUri(uri: string, callback: AsyncCallback<string>): void
...
@@ -700,11 +1235,9 @@ denormalizeUri(uri: string, callback: AsyncCallback<string>): void
**示例:**
**示例:**
```
ts
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
dataShareHelper
.
denormalizeUri
(
uri
,
(
err
,
data
)
=>
{
dataShareHelper
.
denormalizeUri
(
uri
,
(
err
,
data
)
=>
{
if
(
err
!=
undefined
)
{
if
(
err
!=
=
undefined
)
{
console
.
log
(
"
denormalizeUri failed, error message :
"
+
err
);
console
.
log
(
"
denormalizeUri failed, error message :
"
+
err
);
}
else
{
}
else
{
console
.
log
(
"
denormalizeUri =
"
+
data
);
console
.
log
(
"
denormalizeUri =
"
+
data
);
...
@@ -735,8 +1268,6 @@ denormalizeUri(uri: string): Promise<string>
...
@@ -735,8 +1268,6 @@ denormalizeUri(uri: string): Promise<string>
**示例:**
**示例:**
```
ts
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
dataShareHelper
.
denormalizeUri
(
uri
).
then
((
data
)
=>
{
dataShareHelper
.
denormalizeUri
(
uri
).
then
((
data
)
=>
{
console
.
log
(
"
denormalizeUri =
"
+
data
);
console
.
log
(
"
denormalizeUri =
"
+
data
);
...
@@ -763,8 +1294,6 @@ notifyChange(uri: string, callback: AsyncCallback<void>): void
...
@@ -763,8 +1294,6 @@ notifyChange(uri: string, callback: AsyncCallback<void>): void
**示例:**
**示例:**
```
ts
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
dataShareHelper
.
notifyChange
(
uri
,
()
=>
{
dataShareHelper
.
notifyChange
(
uri
,
()
=>
{
console
.
log
(
"
***** notifyChange *****
"
);
console
.
log
(
"
***** notifyChange *****
"
);
...
@@ -794,8 +1323,6 @@ notifyChange(uri: string): Promise<void>
...
@@ -794,8 +1323,6 @@ notifyChange(uri: string): Promise<void>
**示例:**
**示例:**
```
ts
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
uri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
dataShareHelper
.
notifyChange
(
uri
);
dataShareHelper
.
notifyChange
(
uri
);
```
```
\ No newline at end of file
zh-cn/application-dev/reference/errorcodes/errorcode-datashare.md
浏览文件 @
a45422ce
...
@@ -22,4 +22,41 @@ The DataShareHelper is not initialized successfully.
...
@@ -22,4 +22,41 @@ The DataShareHelper is not initialized successfully.
**处理步骤**
**处理步骤**
1.
咨询DataShare服务端提供者,获取正确的uri路径。
1.
咨询DataShare服务端提供者,获取正确的uri路径。
2.
DataShare仅支持Stage模型,检查context是否为Stage模型的context。
2.
DataShare仅支持Stage模型,检查context是否为Stage模型的context。
\ No newline at end of file
## 15700011 添加/删除模板异常
**错误信息**
The uri is not exist.
**错误描述**
添加/删除模板异常时,系统会产生此错误码。
**可能原因**
1.
添加模板异常时,接口addTemplate的入参uri不正确。
2.
删除模板异常时,接口delTemplate的入参uri不正确。
**处理步骤**
咨询DataShare服务端提供者,获取正确的uri路径。
## 15700012 数据区不存在
**错误信息**
The data area is not exist.
**错误描述**
数据更新异常时,系统会产生此错误码。
**可能原因**
数据更新异常时,接口publish的入参bundleName不正确。
**处理步骤**
咨询DataShare服务端提供者,获取正确的bundleName。
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录