diff --git a/zh-cn/application-dev/reference/apis/js-apis-distributed-data.md b/zh-cn/application-dev/reference/apis/js-apis-distributed-data.md
index 385a0aa56f3ffbe2e53b49445f1ef59bad60fac9..4fefe7329cba6c4b4df1c1e5099a4bf92af29f3a 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-distributed-data.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-distributed-data.md
@@ -578,7 +578,7 @@ try {
| createIfMissing | boolean | 否 | 当数据库文件不存在时是否创建数据库,默认创建。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
| encrypt | boolean | 否 |设置数据库文件是否加密,默认不加密。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
| backup | boolean | 否 |设置数据库文件是否备份,默认备份。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
-| autoSync | boolean | 否 |设置数据库文件是否自动同步,默认不自动同步。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
**需要权限**: ohos.permission.DISTRIBUTED_DATASYNC |
+| autoSync | boolean | 否 |设置数据库文件是否自动同步。默认为false,即手动同步;设置为ture时,表示自动同步。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
**需要权限**: ohos.permission.DISTRIBUTED_DATASYNC |
| kvStoreType | [KVStoreType](#kvstoretype) | 否 |设置要创建的数据库类型,默认为多设备协同数据库。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
| securityLevel | [SecurityLevel](#securitylevel) | 否 |设置数据库安全级别,默认不设置安全级别。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
| schema8+ | [Schema](#schema8) | 否 | 设置定义存储在数据库中的值。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore |
@@ -3755,6 +3755,9 @@ try {
sync(deviceIds: string[], mode: SyncMode, delayMs?: number): void
在手动同步方式下,触发数据库同步。关于分布式数据服务的同步方式说明,请见[分布式数据服务概述](../../database/database-mdds-overview.md)。
+> **说明:**
+>
+> 其中deviceIds通过调用[deviceManager.getTrustedDeviceListSync](js-apis-device-manager.md#gettrusteddevicelistsync)方法得到。deviceManager模块的接口均为系统接口,仅系统应用可用。
**需要权限**: ohos.permission.DISTRIBUTED_DATASYNC。
@@ -3771,8 +3774,41 @@ sync(deviceIds: string[], mode: SyncMode, delayMs?: number): void
**示例:**
```js
+import deviceManager from '@ohos.distributedHardware.deviceManager';
+
+let devManager;
let kvStore;
-kvStore.sync(['deviceIds'], distributedData.SyncMode.PULL_ONLY, 1000);
+const KEY_TEST_SYNC_ELEMENT = 'key_test_sync';
+const VALUE_TEST_SYNC_ELEMENT = 'value-string-001';
+// create deviceManager
+deviceManager.createDeviceManager('bundleName', (err, value) => {
+ if (!err) {
+ devManager = value;
+ let deviceIds = [];
+ if (devManager != null) {
+ var devices = devManager.getTrustedDeviceListSync();
+ for (var i = 0; i < devices.length; i++) {
+ deviceIds[i] = devices[i].deviceId;
+ }
+ }
+ try {
+ kvStore.on('syncComplete', function (data) {
+ console.log('Sync dataChange');
+ });
+ kvStore.put(KEY_TEST_SYNC_ELEMENT + 'testSync101', VALUE_TEST_SYNC_ELEMENT, function (err, data) {
+ if (err != undefined) {
+ console.log("put err: " + JSON.stringify(err));
+ return;
+ }
+ console.log('Succeeded in putting data');
+ const mode = distributedData.SyncMode.PULL_ONLY;
+ kvStore.sync(deviceIds, mode, 1000);
+ });
+ } catch (e) {
+ console.log('Sync e' + e);
+ }
+ }
+});
```
### on('dataChange')8+
@@ -5156,22 +5192,41 @@ sync(deviceIds: string[], mode: SyncMode, delayMs?: number): void
**示例:**
```js
+import deviceManager from '@ohos.distributedHardware.deviceManager';
+
+let devManager;
let kvStore;
const KEY_TEST_SYNC_ELEMENT = 'key_test_sync';
const VALUE_TEST_SYNC_ELEMENT = 'value-string-001';
-try {
- kvStore.on('syncComplete', function (data) {
+// create deviceManager
+deviceManager.createDeviceManager('bundleName', (err, value) => {
+ if (!err) {
+ devManager = value;
+ let deviceIds = [];
+ if (devManager != null) {
+ var devices = devManager.getTrustedDeviceListSync();
+ for (var i = 0; i < devices.length; i++) {
+ deviceIds[i] = devices[i].deviceId;
+ }
+ }
+ try {
+ kvStore.on('syncComplete', function (data) {
console.log('Sync dataChange');
- });
- kvStore.put(KEY_TEST_SYNC_ELEMENT + 'testSync101', VALUE_TEST_SYNC_ELEMENT, function (err,data) {
- console.log('Sync put success');
- const devices = ['deviceList'];
+ });
+ kvStore.put(KEY_TEST_SYNC_ELEMENT + 'testSync101', VALUE_TEST_SYNC_ELEMENT, function (err, data) {
+ if (err != undefined) {
+ console.log("put err: " + JSON.stringify(err));
+ return;
+ }
+ console.log('Succeeded in putting data');
const mode = distributedData.SyncMode.PULL_ONLY;
- kvStore.sync(devices, mode);
- });
-}catch(e) {
- console.log('Sync e' + e);
-}
+ kvStore.sync(deviceIds, mode, 1000);
+ });
+ } catch (e) {
+ console.log('Sync e' + e);
+ }
+ }
+});
```
### on('dataChange')8+
diff --git a/zh-cn/application-dev/reference/apis/js-apis-distributedKVStore.md b/zh-cn/application-dev/reference/apis/js-apis-distributedKVStore.md
index 84206aabcfe16da05849f39ad6f308eda9db28b8..657c3b86f35c4dfe3d91a1fd3aeb3996923d520a 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-distributedKVStore.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-distributedKVStore.md
@@ -151,7 +151,7 @@ import distributedKVStore from '@ohos.data.distributedKVStore';
| createIfMissing | boolean | 否 | 当数据库文件不存在时是否创建数据库,默认创建。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
| encrypt | boolean | 否 | 设置数据库文件是否加密,默认不加密。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
| backup | boolean | 否 | 设置数据库文件是否备份,默认备份。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
-| autoSync | boolean | 否 | 设置数据库文件是否自动同步,默认不自动同步。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
**需要权限**: ohos.permission.DISTRIBUTED_DATASYNC |
+| autoSync | boolean | 否 | 设置数据库文件是否自动同步。默认为false,即手动同步;设置为ture时,表示自动同步。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core
**需要权限**: ohos.permission.DISTRIBUTED_DATASYNC |
| kvStoreType | [KVStoreType](#kvstoretype) | 否 | 设置要创建的数据库类型,默认为多设备协同数据库。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
| securityLevel | [SecurityLevel](#securitylevel) | 是 |设置数据库安全级别。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.Core |
| schema | [Schema](#schema) | 否 | 设置定义存储在数据库中的值,默认不使用Schema。
**系统能力:** SystemCapability.DistributedDataManager.KVStore.DistributedKVStore |
@@ -4485,6 +4485,9 @@ try {
sync(deviceIds: string[], mode: SyncMode, delayMs?: number): void
在手动同步方式下,触发数据库同步。关于分布式数据服务的同步方式说明,请见[分布式数据服务概述](../../database/database-mdds-overview.md)。
+> **说明:**
+>
+> 其中deviceIds通过调用[deviceManager.getTrustedDeviceListSync](js-apis-device-manager.md#gettrusteddevicelistsync)方法得到。deviceManager模块的接口均为系统接口,仅系统应用可用。
**需要权限**: ohos.permission.DISTRIBUTED_DATASYNC。
@@ -4510,26 +4513,41 @@ sync(deviceIds: string[], mode: SyncMode, delayMs?: number): void
**示例:**
```js
+import deviceManager from '@ohos.distributedHardware.deviceManager';
+
+let devManager;
let kvStore;
const KEY_TEST_SYNC_ELEMENT = 'key_test_sync';
const VALUE_TEST_SYNC_ELEMENT = 'value-string-001';
-try {
- kvStore.on('syncComplete', function (data) {
+// create deviceManager
+deviceManager.createDeviceManager('bundleName', (err, value) => {
+ if (!err) {
+ devManager = value;
+ let deviceIds = [];
+ if (devManager != null) {
+ var devices = devManager.getTrustedDeviceListSync();
+ for (var i = 0; i < devices.length; i++) {
+ deviceIds[i] = devices[i].deviceId;
+ }
+ }
+ try {
+ kvStore.on('syncComplete', function (data) {
console.log('Sync dataChange');
- });
- kvStore.put(KEY_TEST_SYNC_ELEMENT + 'testSync101', VALUE_TEST_SYNC_ELEMENT, function (err, data) {
+ });
+ kvStore.put(KEY_TEST_SYNC_ELEMENT + 'testSync101', VALUE_TEST_SYNC_ELEMENT, function (err, data) {
if (err != undefined) {
- console.error(`Fail to sync.code is ${err.code},message is ${err.message}`);
- return;
+ console.error(`Fail to sync.code is ${err.code},message is ${err.message}`);
+ return;
}
console.log('Succeeded in putting data');
- const devices = ['deviceList'];
const mode = distributedKVStore.SyncMode.PULL_ONLY;
- kvStore.sync(devices, mode, 1000);
- });
-} catch (e) {
- console.error(`Fail to sync.code is ${e.code},message is ${e.message}`);
-}
+ kvStore.sync(deviceIds, mode, 1000);
+ });
+ } catch (e) {
+ console.error(`Fail to sync.code is ${e.code},message is ${e.message}`);
+ }
+ }
+});
```
### sync
@@ -4537,6 +4555,9 @@ try {
sync(deviceIds: string[], query: Query, mode: SyncMode, delayMs?: number): void
在手动同步方式下,触发数据库同步,此方法为同步方法。关于分布式数据服务的同步方式说明,请见[分布式数据服务概述](../../database/database-mdds-overview.md)。
+> **说明:**
+>
+> 其中deviceIds通过调用[deviceManager.getTrustedDeviceListSync](js-apis-device-manager.md#gettrusteddevicelistsync)方法得到。deviceManager模块的接口均为系统接口,仅系统应用可用。
**需要权限**: ohos.permission.DISTRIBUTED_DATASYNC。
@@ -4563,29 +4584,44 @@ sync(deviceIds: string[], query: Query, mode: SyncMode, delayMs?: number): void
**示例:**
```js
+import deviceManager from '@ohos.distributedHardware.deviceManager';
+
+let devManager;
let kvStore;
const KEY_TEST_SYNC_ELEMENT = 'key_test_sync';
const VALUE_TEST_SYNC_ELEMENT = 'value-string-001';
-try {
- kvStore.on('syncComplete', function (data) {
+// create deviceManager
+deviceManager.createDeviceManager('bundleName', (err, value) => {
+ if (!err) {
+ devManager = value;
+ let deviceIds = [];
+ if (devManager != null) {
+ var devices = devManager.getTrustedDeviceListSync();
+ for (var i = 0; i < devices.length; i++) {
+ deviceIds[i] = devices[i].deviceId;
+ }
+ }
+ try {
+ kvStore.on('syncComplete', function (data) {
console.log('Sync dataChange');
- });
- kvStore.put(KEY_TEST_SYNC_ELEMENT + 'testSync101', VALUE_TEST_SYNC_ELEMENT, function (err, data) {
+ });
+ kvStore.put(KEY_TEST_SYNC_ELEMENT + 'testSync101', VALUE_TEST_SYNC_ELEMENT, function (err, data) {
if (err != undefined) {
- console.error(`Fail to sync.code is ${err.code},message is ${err.message}`);
- return;
+ console.error(`Fail to sync.code is ${err.code},message is ${err.message}`);
+ return;
}
console.log('Succeeded in putting data');
- const devices = ['deviceList'];
const mode = distributedKVStore.SyncMode.PULL_ONLY;
const query = new distributedKVStore.Query();
query.prefixKey("batch_test");
query.deviceId('localDeviceId');
- kvStore.sync(devices, query, mode, 1000);
- });
-} catch (e) {
- console.error(`Fail to sync.code is ${e.code},message is ${e.message}`);
-}
+ kvStore.sync(deviceIds, query, mode, 1000);
+ });
+ } catch (e) {
+ console.error(`Fail to sync.code is ${e.code},message is ${e.message}`);
+ }
+ }
+});
```
### on('dataChange')