Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
0731d7ff
D
Docs
项目概览
OpenHarmony
/
Docs
12 个月 前同步成功
通知
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
0731d7ff
编写于
8月 24, 2023
作者:
L
liusaimei
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Share相关使用说明文档示例代码ArxTs规范整改
Signed-off-by:
N
liusaimei
<
liusaimei@huawei.com
>
上级
a47b52f8
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
26 addition
and
11 deletion
+26
-11
zh-cn/application-dev/database/share-data-by-datashareextensionability.md
...n-dev/database/share-data-by-datashareextensionability.md
+26
-11
未找到文件。
zh-cn/application-dev/database/share-data-by-datashareextensionability.md
浏览文件 @
0731d7ff
...
...
@@ -64,6 +64,8 @@
import
Extension
from
'
@ohos.application.DataShareExtensionAbility
'
;
import
rdb
from
'
@ohos.data.relationalStore
'
;
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
import
relationalStore
from
'
@ohos.data.relationalStore
'
;
import
Want
from
'
@ohos.app.ability.Want
'
;
```
4.
数据提供方的业务实现由开发者自定义。例如可以通过数据库、读写文件或访问网络等各方式实现数据提供方的数据存储。
...
...
@@ -75,20 +77,20 @@
+
TBL_NAME
+
'
(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, isStudent BOOLEAN, Binary BINARY)
'
;
let
rdbStore
;
let
result
;
let
rdbStore
:
relationalStore
.
RdbStore
;
let
result
:
string
;
export
default
class
DataShareExtAbility
extends
Extension
{
private
rdbStore_
;
private
rdbStore_
:
relationalStore
.
RdbStore
;
// 重写onCreate接口
onCreate
(
want
,
callback
)
{
onCreate
(
want
:
Want
,
callback
:
Function
)
{
result
=
this
.
context
.
cacheDir
+
'
/datashare.txt
'
;
// 业务实现使用RDB
rdb
.
getRdbStore
(
this
.
context
,
{
name
:
DB_NAME
,
securityLevel
:
rdb
.
SecurityLevel
.
S1
},
function
(
err
,
data
)
{
},
(
err
,
data
)
=>
{
rdbStore
=
data
;
rdbStore
.
executeSql
(
DDL_TBL_CREATE
,
[],
(
err
)
=>
{
console
.
info
(
`DataShareExtAbility onCreate, executeSql done err:
${
err
}
`
);
...
...
@@ -100,7 +102,7 @@
}
// 重写query接口
query
(
uri
,
predicates
,
columns
,
callback
)
{
query
(
uri
:
string
,
predicates
:
dataSharePredicates
.
DataSharePredicates
,
columns
:
Array
<
string
>
,
callback
:
Function
)
{
if
(
predicates
===
null
||
predicates
===
undefined
)
{
console
.
info
(
'
invalid predicates
'
);
}
...
...
@@ -188,6 +190,8 @@
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
dataShare
from
'
@ohos.data.dataShare
'
;
import
dataSharePredicates
from
'
@ohos.data.dataSharePredicates
'
;
import
{
ValuesBucket
}
from
'
@ohos.data.ValuesBucket
'
import
window
from
'
@ohos.window
'
;
```
2.
定义与数据提供方通信的URI字符串。
...
...
@@ -200,11 +204,11 @@
3.
创建工具接口类对象。
```
js
let
dsHelper
;
let
abilityContext
;
let
dsHelper
:
dataShare
.
DataShareHelper
;
let
abilityContext
:
Context
;
export
default
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
)
{
onWindowStageCreate
(
windowStage
:
window
.
WindowStage
)
{
abilityContext
=
this
.
context
;
dataShare
.
createDataShareHelper
(
abilityContext
,
dseUri
,
(
err
,
data
)
=>
{
dsHelper
=
data
;
...
...
@@ -217,8 +221,19 @@
```
js
// 构建一条数据
let
valuesBucket
=
{
'
name
'
:
'
ZhangSan
'
,
'
age
'
:
21
,
'
isStudent
'
:
false
,
'
Binary
'
:
new
Uint8Array
([
1
,
2
,
3
])
};
let
updateBucket
=
{
'
name
'
:
'
LiSi
'
,
'
age
'
:
18
,
'
isStudent
'
:
true
,
'
Binary
'
:
new
Uint8Array
([
1
,
2
,
3
])
};
let
key1
=
'
name
'
;
let
key2
=
'
age
'
;
let
key3
=
'
isStudent
'
;
let
key4
=
'
Binary
'
;
let
valueName1
=
'
ZhangSan
'
;
let
valueName2
=
'
LiSi
'
;
let
valueAge1
=
21
;
let
valueAge2
=
18
;
let
valueIsStudent1
=
false
;
let
valueIsStudent2
=
true
;
let
valueBinary
=
new
Uint8Array
([
1
,
2
,
3
]);
let
valuesBucket
:
ValuesBucket
=
{
key1
:
valueName1
,
key2
:
valueAge1
,
key3
:
valueIsStudent1
,
key4
:
valueBinary
};
let
updateBucket
:
ValuesBucket
=
{
key1
:
valueName2
,
key2
:
valueAge2
,
key3
:
valueIsStudent2
,
key4
:
valueBinary
};
let
predicates
=
new
dataSharePredicates
.
DataSharePredicates
();
let
valArray
=
[
'
*
'
];
// 插入一条数据
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录