Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
0103e436
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看板
提交
0103e436
编写于
2月 17, 2023
作者:
N
niudongyao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add crossusermode guide
Signed-off-by:
N
niudongyao
<
niudongyao@huawei.com
>
上级
4e781519
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
45 addition
and
12 deletion
+45
-12
zh-cn/application-dev/database/database-datashare-guidelines.md
...application-dev/database/database-datashare-guidelines.md
+45
-12
未找到文件。
zh-cn/application-dev/database/database-datashare-guidelines.md
浏览文件 @
0103e436
...
...
@@ -150,12 +150,13 @@ DataShare即数据共享模块,提供了向其他应用共享以及管理其
7.
在module.json5中定义DataShareExtensionAbility。
| Json重要字段 | 备注说明 |
| ------------ | ------------------------------------------------------------ |
| "name" | Ability名称,对应Ability派生的ExtensionAbility类名。 |
| "type" | Ability类型,DataShare对应的Ability类型为”dataShare“,表示基于datashare模板开发的。 |
| "uri" | 通信使用的URI,是客户端链接服务端的唯一标识。 |
| "visible" | 对其他应用是否可见,设置为true时,才能与其他应用进行通信传输数据。 |
| Json重要字段 | 备注说明 | 必填 |
| ------------ | ------------------------------------------------------------ | --- |
| "name" | Ability名称,对应Ability派生的ExtensionAbility类名。 | 是 |
| "type" | Ability类型,DataShare对应的Ability类型为”dataShare“,表示基于datashare模板开发的。 | 是 |
| "uri" | 通信使用的URI,是客户端链接服务端的唯一标识。 | 是 |
| "visible" | 对其他应用是否可见,设置为true时,才能与其他应用进行通信传输数据。 | 是 |
| "metadata" | 增加静默访问所需的额外配置项,包含name和resource字段。
<br
/>
name类型固定为"ohos.extension.dataShare",是配置的唯一标识。
<br
/>
resource类型固定为"$profile:data_share_config",表示配置文件的名称为data_share_config.json. | singleApp必填,其余选填 |
**module.json5配置样例**
...
...
@@ -168,11 +169,43 @@ DataShare即数据共享模块,提供了向其他应用共享以及管理其
"description"
:
"$string:description_datashareextability"
,
"type"
:
"dataShare"
,
"uri"
:
"datashare://com.samples.datasharetest.DataShare"
,
"visible"
:
true
"visible"
:
true
,
"metadata"
:
[{
"name"
:
"ohos.extension.dataShare"
,
"resource"
:
"$profile:data_share_config"
}]
}
]
```
**data_share_config.json说明**
| 字段 | 备注说明 | 必填 |
| ------------ | ------------------------------------------------------------ | --- |
| "tableConfig" | 配置标签。 | 是 |
| "uri" | 指定配置生效的范围,uri支持以下三种格式,优先级为
**表配置>库配置>\***
,如果同时配置,高优先级会覆盖低优先级 。
<br
/>
1. "
*
" : 所有的数据库和表。
<br
/>
2. "datashare:///{bundleName}/{moduleName}/{storeName}" : 指定数据库。
<br
/>
3. "datashare:///{bundleName}/{moduleName}/{storeName}/{tableName}" : 指定表。 | 是 |
| "crossUserMode" | 标识数据是否为多用户共享,配置为1则多用户数据共享,配置为2则多用户数据隔离。 | singleApp必填 |
| "writePermission" | 静默访问需要的写权限。 | 否 |
| "readPermission" | 静默访问需要的读权限。 | 否 |
**data_share_config.json配置样例**
```
json
"tableConfig"
:
[
{
"uri"
:
"*"
,
"writePermission"
:
"ohos.permission.xxx"
},
{
"uri"
:
"datashare:///com.acts.datasharetest/entry/DB00"
,
"crossUserMode"
:
1
,
"writePermission"
:
"ohos.permission.xxx"
,
"readPermission"
:
"ohos.permission.xxx"
},
{
"uri"
:
"datashare:///com.acts.datasharetest/entry/DB00/TBL00"
,
"crossUserMode"
:
2
}
]
```
### 数据访问方应用的开发
1.
导入基础依赖包。
...
...
@@ -187,7 +220,7 @@ DataShare即数据共享模块,提供了向其他应用共享以及管理其
```
ts
// 作为参数传递的URI,与module.json5中定义的URI的区别是多了一个"/",是因为作为参数传递的URI中,在第二个与第三个"/"中间,存在一个DeviceID的参数
let
dseUri
=
(
"
datashare:///com.samples.datasharetest.DataShare
"
);
let
dseUri
=
(
'
datashare:///com.samples.datasharetest.DataShare
'
);
```
3.
创建工具接口类对象。
...
...
@@ -216,19 +249,19 @@ DataShare即数据共享模块,提供了向其他应用共享以及管理其
let
valArray
=
[
'
*
'
];
// 插入一条数据
dsHelper
.
insert
(
dseUri
,
valuesBucket
,
(
err
,
data
)
=>
{
console
.
log
(
"
dsHelper insert result:
"
+
data
);
console
.
log
(
'
dsHelper insert result:
'
+
data
);
});
// 更新数据
dsHelper
.
update
(
dseUri
,
predicates
,
updateBucket
,
(
err
,
data
)
=>
{
console
.
log
(
"
dsHelper update result:
"
+
data
);
console
.
log
(
'
dsHelper update result:
'
+
data
);
});
// 查询数据
dsHelper
.
query
(
dseUri
,
predicates
,
valArray
,
(
err
,
data
)
=>
{
console
.
log
(
"
dsHelper query result:
"
+
data
);
console
.
log
(
'
dsHelper query result:
'
+
data
);
});
// 删除指定的数据
dsHelper
.
delete
(
dseUri
,
predicates
,
(
err
,
data
)
=>
{
console
.
log
(
"
dsHelper delete result:
"
+
data
);
console
.
log
(
'
dsHelper delete result:
'
+
data
);
});
```
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录