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')