Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
3a4a65ad
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
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看板
未验证
提交
3a4a65ad
编写于
7月 07, 2023
作者:
O
openharmony_ci
提交者:
Gitee
7月 07, 2023
浏览文件
操作
浏览文件
下载
差异文件
!20573 modfiy datashare
Merge pull request !20573 from 李芮/master
上级
a39fb478
956156b3
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
45 addition
and
25 deletion
+45
-25
zh-cn/application-dev/reference/apis/js-apis-data-dataShare.md
.../application-dev/reference/apis/js-apis-data-dataShare.md
+6
-25
zh-cn/release-notes/changelogs/OpenHarmony_4.0.8.2/changelogs-datashare.md
...es/changelogs/OpenHarmony_4.0.8.2/changelogs-datashare.md
+39
-0
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-data-dataShare.md
浏览文件 @
3a4a65ad
...
@@ -199,7 +199,7 @@ try {
...
@@ -199,7 +199,7 @@ try {
| 名称 | 类型 | 必填 | 说明 |
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| -------- | -------- | -------- | -------- |
| key | string | 是 | 指定发布数据的键。 |
| key | string | 是 | 指定发布数据的键。 |
| data | string
\|
[
Ashmem
](
js-apis-rpc.md#ashmem8
)
| 是 | 指定发布的数据。如果数据很大,请使用Ashmem
。 |
| data | string
\|
ArrayBuffer | 是 | 指定发布的数据。如果发布数据大小超过20KB,建议使用ArrayBuffer
。 |
| subscriberId | string | 是 | 指定订阅者id。 |
| subscriberId | string | 是 | 指定订阅者id。 |
## RdbDataChangeNode<sup>10+</sup>
## RdbDataChangeNode<sup>10+</sup>
...
@@ -478,18 +478,15 @@ on(type: 'publishedDataChange', uris: Array<string>, subscriberId: string,
...
@@ -478,18 +478,15 @@ on(type: 'publishedDataChange', uris: Array<string>, subscriberId: string,
**示例:**
**示例:**
```
ts
```
ts
import
rpc
from
'
@ohos.rpc
'
;
function
onPublishCallback
(
err
,
node
:
dataShare
.
PublishedDataChangeNode
)
{
function
onPublishCallback
(
err
,
node
:
dataShare
.
PublishedDataChangeNode
)
{
console
.
info
(
"
onPublishCallback node bundleName
"
+
JSON
.
stringify
(
node
.
bundleName
));
console
.
info
(
"
onPublishCallback node bundleName
"
+
JSON
.
stringify
(
node
.
bundleName
));
console
.
info
(
"
onPublishCallback node data size
"
+
node
.
data
.
length
);
console
.
info
(
"
onPublishCallback node data size
"
+
node
.
data
.
length
);
for
(
let
i
=
0
;
i
<
node
.
data
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
node
.
data
.
length
;
i
++
)
{
console
.
info
(
"
onPublishCallback node
"
+
typeof
node
.
data
[
i
].
data
);
console
.
info
(
"
onPublishCallback node
"
+
typeof
node
.
data
[
i
].
data
);
if
(
typeof
node
.
data
[
i
].
data
!=
'
string
'
)
{
if
(
typeof
node
.
data
[
i
].
data
!=
'
string
'
)
{
let
ash
:
rpc
.
Ashmem
=
node
.
data
[
i
].
data
;
let
array
:
ArrayBuffer
=
node
.
data
[
i
].
data
;
ash
.
mapReadonlyAshmem
();
let
data
:
Uint8Array
=
new
Uint8Array
(
array
);
console
.
info
(
"
onPublishCallback
"
+
JSON
.
stringify
(
ash
.
readAshmem
(
ash
.
getAshmemSize
()
/
4
,
0
)));
console
.
info
(
"
onPublishCallback
"
+
i
+
"
"
+
JSON
.
stringify
(
data
));
ash
.
closeAshmem
();
}
}
console
.
info
(
"
onPublishCallback data
"
+
i
+
"
"
+
JSON
.
stringify
(
node
.
data
[
i
]));
console
.
info
(
"
onPublishCallback data
"
+
i
+
"
"
+
JSON
.
stringify
(
node
.
data
[
i
]));
}
}
...
@@ -561,29 +558,13 @@ publish(data: Array<PublishedItem>, bundleName: string, version: number, c
...
@@ -561,29 +558,13 @@ publish(data: Array<PublishedItem>, bundleName: string, version: number, c
**示例:**
**示例:**
```
ts
```
ts
import
rpc
from
'
@ohos.rpc
'
;
let
arrayBuffer
=
new
ArrayBuffer
(
1
);
let
ashmem
=
null
;
let
subscriberId
=
'
11
'
;
let
version
=
1
;
let
version
=
1
;
let
data
:
Array
<
dataShare
.
PublishedItem
>
=
[
let
data
:
Array
<
dataShare
.
PublishedItem
>
=
[{
key
:
"
key2
"
,
subscriberId
:
"
11
"
,
data
:
arrayBuffer
}];
{
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
>
)
{
function
publishCallback
(
err
,
result
:
Array
<
dataShare
.
OperationResult
>
)
{
console
.
info
(
"
publishCallback
"
+
JSON
.
stringify
(
result
));
console
.
info
(
"
publishCallback
"
+
JSON
.
stringify
(
result
));
ashmem
.
closeAshmem
();
}
}
try
{
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
.
info
(
"
data length is:
"
,
data
.
length
);
console
.
info
(
"
data length is:
"
,
data
.
length
);
dataShareHelper
.
publish
(
data
,
"
com.acts.ohos.data.datasharetest
"
,
version
,
publishCallback
);
dataShareHelper
.
publish
(
data
,
"
com.acts.ohos.data.datasharetest
"
,
version
,
publishCallback
);
}
catch
(
e
)
{
}
catch
(
e
)
{
...
...
zh-cn/release-notes/changelogs/OpenHarmony_4.0.8.2/changelogs-datashare.md
0 → 100644
浏览文件 @
3a4a65ad
# 分布式数据管理子系统ChangeLog
## cl.datashare.1 js-apis-data-dataShare API version 10开始托管数据PublishedItem中data的数据类型从Ashmem变更为ArrayBuffer
**变更影响**
PublishedItem中data的数据类型从Ashmem变更为ArrayBuffer
## PublishedItem<sup>10+</sup>
指定发布的数据类型。
**系统能力:**
SystemCapability.DistributedDataManager.DataShare.Consumer
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | string | 是 | 指定发布数据的键。 |
| data | string
\|
ArrayBuffer | 是 | 指定发布的数据。如果数据很大,请使用ArrayBuffer。 |
| subscriberId | string | 是 | 指定订阅者id。 |
**适配指导**
示例代码如下:
**示例:**
```
ts
let
arrayBuffer
=
new
ArrayBuffer
(
1
);
let
version
=
1
;
let
data
:
Array
<
dataShare
.
PublishedItem
>
=
[{
key
:
"
key2
"
,
subscriberId
:
"
11
"
,
data
:
arrayBuffer
}];
function
publishCallback
(
err
,
result
:
Array
<
dataShare
.
OperationResult
>
)
{
console
.
info
(
"
publishCallback
"
+
JSON
.
stringify
(
result
));
}
try
{
console
.
info
(
"
data length is:
"
,
data
.
length
);
dataShareHelper
.
publish
(
data
,
"
com.acts.ohos.data.datasharetest
"
,
version
,
publishCallback
);
}
catch
(
e
)
{
console
.
error
(
"
publish error
"
+
JSON
.
stringify
(
e
));
}
```
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录