changelogs-datashare.md 1.4 KB
Newer Older
L
liusaimei 已提交
1 2
# 分布式数据管理子系统ChangeLog

L
liusaimei 已提交
3
## cl.datashare.1 js-apis-data-dataShare API version 10开始托管数据PublishedItem中data的数据类型从Ashmem变更为ArrayBuffer
L
liusaimei 已提交
4 5 6

**变更影响**

L
liusaimei 已提交
7
PublishedItem中data的数据类型从Ashmem变更为ArrayBuffer
L
liusaimei 已提交
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

## PublishedItem<sup>10+</sup>

指定发布的数据类型。

**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Consumer

| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | string | 是 | 指定发布数据的键。 |
| data | string \| ArrayBuffer | 是 | 指定发布的数据。如果数据很大,请使用ArrayBuffer。 |
| subscriberId | string | 是 | 指定订阅者id。 |

**适配指导**
示例代码如下:

**示例:**

```ts
function onPublishCallback(err, node:dataShare.PublishedDataChangeNode) {
    for (let i = 0; i < node.data.length; i++) {
        if (typeof node.data[i].data != 'string') {
            let array:ArrayBuffer = node.data[i].data;
            let data:Uint8Array = new Uint8Array(array);
L
liusaimei 已提交
32
            console.info("onPublishCallback " + JSON.stringify(data));
L
liusaimei 已提交
33 34 35 36 37 38 39
        }
    }
}
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);
```