
HarmonyOSAPI:@ohos.data.distributedData (分布式数据管理)
版本:v3.1 Beta
@ohos.data.distributedData (分布式数据管理)
sync
sync(deviceIds: string[], mode: SyncMode, delayMs?: number): void
在手动同步方式下,触发数据库同步。关于分布式数据服务的同步方式说明,请见分布式数据服务概述。
此接口能力在HarmonyOS 3.1Beta1暂不支持。
需要权限: ohos.permission.DISTRIBUTED_DATASYNC。
系统能力: SystemCapability.DistributedDataManager.KVStore.Core
参数:
参数名 | 类型 | 必填 | 说明 |
deviceIds | string[] | 是 | 同一组网环境下,需要同步的设备的deviceId列表。 |
mode | 是 | 同步模式。 | |
delayMs | number | 否 | 可选参数,允许延时时间,单位:ms(毫秒)。 |
示例:
on('dataChange')8+
on(event: 'dataChange', type: SubscribeType, listener: Callback<ChangeNotification>): void
订阅指定类型的数据变更通知。
系统能力: SystemCapability.DistributedDataManager.KVStore.Core
参数:
参数名 | 类型 | 必填 | 说明 |
event | string | 是 | 订阅的事件名,固定为'dataChange',表示数据变更事件。 |
type | 是 | 表示订阅的类型。 | |
listener | Callback<ChangeNotification> | 是 | 回调函数。 |
示例:
on('syncComplete')8+
on(event: 'syncComplete', syncCallback: Callback<Array<[string, number]>>): void
订阅同步完成事件回调通知。
系统能力: SystemCapability.DistributedDataManager.KVStore.Core
参数:
参数名 | 类型 | 必填 | 说明 |
event | string | 是 | 订阅的事件名,固定为'syncComplete',表示同步完成事件。 |
syncCallback | Callback<Array<[string, number]>> | 是 | 回调函数。用于向调用方发送同步结果的回调。 |
示例:
off('dataChange')8+
off(event:'dataChange', listener?: Callback<ChangeNotification>): void
取消订阅数据变更通知。
系统能力: SystemCapability.DistributedDataManager.KVStore.Core
参数:
参数名 | 类型 | 必填 | 说明 |
event | string | 是 | 取消订阅的事件名,固定为'dataChange',表示数据变更事件。 |
listener | Callback<ChangeNotification> | 否 | 回调函数。 |
示例:
off('syncComplete')8+
off(event: 'syncComplete', syncCallback?: Callback<Array<[string, number]>>): void
取消订阅同步完成事件回调通知。
系统能力: SystemCapability.DistributedDataManager.KVStore.Core
参数:
参数名 | 类型 | 必填 | 说明 |
event | string | 是 | 取消订阅的事件名,固定为'syncComplete',表示同步完成事件。 |
syncCallback | Callback<Array<[string, number]>> | 否 | 回调函数。用于向调用方发送同步结果的回调。 |
示例:
setSyncParam8+
setSyncParam(defaultAllowedDelayMs: number, callback: AsyncCallback<void>): void
设置数据库同步允许的默认延迟,使用callback异步回调。
此接口能力在HarmonyOS 3.1Beta1暂不支持。
系统能力: SystemCapability.DistributedDataManager.KVStore.Core
参数:
参数名 | 类型 | 必填 | 说明 |
defaultAllowedDelayMs | number | 是 | 表示数据库同步允许的默认延迟,以毫秒为单位。 |
callback | AsyncCallback<void> | 是 | 回调函数。 |
示例:
setSyncParam8+
setSyncParam(defaultAllowedDelayMs: number): Promise<void>
设置数据库同步允许的默认延迟,使用Promise异步回调。
此接口能力在HarmonyOS 3.1Beta1暂不支持。
系统能力: SystemCapability.DistributedDataManager.KVStore.Core
参数:
参数名 | 类型 | 必填 | 说明 |
defaultAllowedDelayMs | number | 是 | 表示数据库同步允许的默认延迟,以毫秒为单位。 |
返回值:
类型 | 说明 |
Promise<void> | 无返回结果的Promise对象。 |
示例:
getSecurityLevel8+
getSecurityLevel(callback: AsyncCallback<SecurityLevel>): void
获取数据库的安全级别,使用callback异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.Core
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<SecurityLevel> | 是 | 回调函数。返回数据库的安全级别。 |
示例:
getSecurityLevel8+
getSecurityLevel(): Promise<SecurityLevel>
获取数据库的安全级别,使用Promise异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.Core
返回值:
类型 | 说明 |
Promise<SecurityLevel> | Promise对象。返回数据库的安全级别。 |
示例:
DeviceKVStore8+
设备协同数据库,继承自KVStore,提供查询数据和同步数据的方法。
设备协同数据库,以设备维度对数据进行区分,每台设备仅能写入和修改本设备的数据,其它设备的数据对其是只读的,无法修改其它设备的数据。
比如,可以使用设备协同数据库实现设备间的图片分享,可以查看其他设备的图片,但无法修改和删除其他设备的图片。
在调用DeviceKVStore的方法前,需要先通过getKVStore构建一个DeviceKVStore实例。
get8+
get(deviceId: string, key: string, callback: AsyncCallback<boolean|string|number|Uint8Array>): void
获取与指定设备ID和key匹配的string值,使用callback异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
参数:
参数名 | 类型 | 必填 | 说明 |
deviceId | string | 是 | 标识要查询其数据的设备。 |
key | string | 是 | 表示要查询key值的键。 |
callback | AsyncCallback<boolean|string|number|Uint8Array> | 是 | 回调函数,返回匹配给定条件的字符串值。 |
示例:
get8+
get(deviceId: string, key: string): Promise<boolean|string|number|Uint8Array>
获取与指定设备ID和key匹配的string值,使用Promise异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
参数:
参数名 | 类型 | 必填 | 说明 |
deviceId | string | 是 | 标识要查询其数据的设备。 |
key | string | 是 | 表示要查询key值的键。 |
返回值:
类型 | 说明 |
Promise<boolean|string|number|Uint8Array> | Promise对象。返回匹配给定条件的字符串值。 |
示例:
getEntries8+
getEntries(deviceId: string, keyPrefix: string, callback: AsyncCallback<Entry[]>): void
获取与指定设备ID和key前缀匹配的所有键值对,使用callback异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
参数:
参数名 | 类型 | 必填 | 说明 |
deviceId | string | 是 | 标识要查询其数据的设备。 |
keyPrefix | string | 是 | 表示要匹配的键前缀。 |
callback | AsyncCallback<Entry[]> | 是 | 回调函数,返回满足给定条件的所有键值对的列表。 |
示例:
getEntries8+
getEntries(deviceId: string, keyPrefix: string): Promise<Entry[]>
获取与指定设备ID和key前缀匹配的所有键值对,使用Promise异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
参数:
参数名 | 类型 | 必填 | 说明 |
deviceId | string | 是 | 标识要查询其数据的设备。 |
keyPrefix | string | 是 | 表示要匹配的键前缀。 |
返回值:
类型 | 说明 |
Promise<Entry[]> | Promise对象。返回匹配给定条件的所有键值对的列表。 |
示例:
getEntries8+
getEntries(query: Query, callback: AsyncCallback<Entry[]>): void
获取与指定Query对象匹配的键值对列表,使用callback异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
参数:
参数名 | 类型 | 必填 | 说明 |
query | Query | 是 | 表示查询对象。 |
callback | AsyncCallback<Entry[]> | 是 | 回调函数,返回与指定Query对象匹配的键值对列表。 |
示例:
getEntries8+
getEntries(query: Query): Promise<Entry[]>
获取与指定Query对象匹配的键值对列表,使用Promise异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
参数:
参数名 | 类型 | 必填 | 说明 |
query | Query | 是 | 表示查询对象。 |
返回值:
类型 | 说明 |
Promise<Entry[]> | Promise对象。返回与指定Query对象匹配的键值对列表。 |
示例:
getEntries8+
getEntries(deviceId: string, query: Query, callback: AsyncCallback<Entry[]>): void
获取与指定设备ID和Query对象匹配的键值对列表,使用callback异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
参数:
参数名 | 类型 | 必填 | 说明 |
deviceId | string | 是 | 键值对所属的设备ID。 |
query | Query | 是 | 表示查询对象。 |
callback | AsyncCallback<Entry[]> | 是 | 回调函数。返回与指定设备ID和Query对象匹配的键值对列表。 |
示例:
getEntries8+
getEntries(deviceId: string, query: Query): Promise<Entry[]>
获取与指定设备ID和Query对象匹配的键值对列表,使用Promise异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
参数:
参数名 | 类型 | 必填 | 说明 |
deviceId | string | 是 | 键值对所属的设备ID。 |
query | Query | 是 | 表示查询对象。 |
返回值:
类型 | 说明 |
Promise<Entry[]> | Promise对象。返回与指定设备ID和Query对象匹配的键值对列表。 |
示例:
getResultSet8+
getResultSet(deviceId: string, keyPrefix: string, callback: AsyncCallback<KvStoreResultSet>): void
获取与指定设备ID和key前缀匹配的KvStoreResultSet对象,使用callback异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
参数:
参数名 | 类型 | 必填 | 说明 |
deviceId | string | 是 | 标识要查询其数据的设备。 |
keyPrefix | string | 是 | 表示要匹配的键前缀。 |
callback | AsyncCallback<KvStoreResultSet> | 是 | 回调函数。返回与指定设备ID和key前缀匹配的KvStoreResultSet对象。 |
示例:
getResultSet8+
getResultSet(deviceId: string, keyPrefix: string): Promise<KvStoreResultSet>
获取与指定设备ID和key前缀匹配的KvStoreResultSet对象,使用Promise异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
参数:
参数名 | 类型 | 必填 | 说明 |
deviceId | string | 是 | 标识要查询其数据的设备。 |
keyPrefix | string | 是 | 表示要匹配的键前缀。 |
返回值:
类型 | 说明 |
Promise<KvStoreResultSet> | Promise对象。返回与指定设备ID和key前缀匹配的KvStoreResultSet对象。 |
示例:
getResultSet8+
getResultSet(query: Query, callback: AsyncCallback<KvStoreResultSet>): void
获取与指定Query对象匹配的KvStoreResultSet对象,使用callback异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
参数:
参数名 | 类型 | 必填 | 说明 |
query | Query | 是 | 表示查询对象。 |
callback | AsyncCallback<KvStoreResultSet> | 是 | 回调函数,返回与指定Query对象匹配的KvStoreResultSet对象。 |
示例:
getResultSet8+
getResultSet(query: Query): Promise<KvStoreResultSet>
获取与指定Query对象匹配的KvStoreResultSet对象,使用Promise异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
参数:
参数名 | 类型 | 必填 | 说明 |
query | Query | 是 | 表示查询对象。 |
返回值:
类型 | 说明 |
Promise<KvStoreResultSet> | Promise对象。返回与指定Query对象匹配的KvStoreResultSet对象。 |
示例:
getResultSet8+
getResultSet(deviceId: string, query: Query, callback: AsyncCallback<KvStoreResultSet>): void
获取与指定设备ID和Query对象匹配的KvStoreResultSet对象,使用callback异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
参数:
参数名 | 类型 | 必填 | 说明 |
deviceId | string | 是 | KvStoreResultSet对象所属的设备ID。 |
query | Query | 是 | 表示查询对象。 |
callback | AsyncCallback<KvStoreResultSet> | 是 | 回调函数。返回与指定设备ID和Query对象匹配的KvStoreResultSet对象。 |
示例:
getResultSet8+
getResultSet(deviceId: string, query: Query): Promise<KvStoreResultSet>
获取与指定设备ID和Query对象匹配的KvStoreResultSet对象,使用Promise异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
参数:
参数名 | 类型 | 必填 | 说明 |
deviceId | string | 是 | KvStoreResultSet对象所属的设备ID。 |
query | Query | 是 | 表示查询对象。 |
返回值:
类型 | 说明 |
Promise<KvStoreResultSet> | Promise对象。返回与指定设备ID和Query对象匹配的KvStoreResultSet对象。 |
示例:
closeResultSet8+
closeResultSet(resultSet: KvStoreResultSet, callback: AsyncCallback<void>): void
关闭由DeviceKVStore.getResultSet返回的KvStoreResultSet对象,使用callback异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
参数:
参数名 | 类型 | 必填 | 说明 |
resultSet | 是 | 指示要关闭的KvStoreResultSet对象。 | |
callback | AsyncCallback<void> | 是 | 回调函数。 |
示例:
closeResultSet8+
closeResultSet(resultSet: KvStoreResultSet): Promise<void>
关闭由DeviceKVStore.getResultSet返回的KvStoreResultSet对象,使用Promise异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
参数:
参数名 | 类型 | 必填 | 说明 |
resultSet | 是 | 指示要关闭的KvStoreResultSet对象。 |
返回值:
类型 | 说明 |
Promise<void> | 无返回结果的Promise对象。 |
示例:
getResultSize8+
getResultSize(query: Query, callback: AsyncCallback<number>): void
获取与指定Query对象匹配的结果数,使用callback异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
参数:
参数名 | 类型 | 必填 | 说明 |
query | Query | 是 | 表示查询对象。 |
callback | AsyncCallback<number> | 是 | 回调函数,返回与指定Query对象匹配的结果数。 |
示例:
getResultSize8+
getResultSize(query: Query): Promise<number>
获取与指定Query对象匹配的结果数,使用Promise异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
参数:
参数名 | 类型 | 必填 | 说明 |
query | Query | 是 | 表示查询对象。 |
返回值:
类型 | 说明 |
Promise<number> | Promise对象。返回与指定Query对象匹配的结果数。 |
示例:
getResultSize8+
getResultSize(deviceId: string, query: Query, callback: AsyncCallback<number>): void;
获取与指定设备ID和Query对象匹配的结果数,使用callback异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
参数:
参数名 | 类型 | 必填 | 说明 |
deviceId | string | 是 | KvStoreResultSet对象所属的设备ID。 |
query | Query | 是 | 表示查询对象。 |
callback | AsyncCallback<number> | 是 | 回调函数。返回与指定设备ID和Query对象匹配的结果数。 |
示例:
getResultSize8+
getResultSize(deviceId: string, query: Query): Promise<number>
获取与指定设备ID和Query对象匹配的结果数,使用Promise异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
参数:
参数名 | 类型 | 必填 | 说明 |
deviceId | string | 是 | KvStoreResultSet对象所属的设备ID。 |
query | Query | 是 | 表示查询对象。 |
返回值:
类型 | 说明 |
Promise<number> | Promise对象。返回与指定设备ID和Query对象匹配的结果数。 |
示例:
removeDeviceData8+
removeDeviceData(deviceId: string, callback: AsyncCallback<void>): void
从当前数据库中删除指定设备的数据,使用callback异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
参数:
参数名 | 类型 | 必填 | 说明 |
deviceId | string | 是 | 标识要删除其数据的设备。 |
callback | AsyncCallback<void> | 是 | 回调函数。 |
示例:
removeDeviceData8+
removeDeviceData(deviceId: string): Promise<void>
从当前数据库中删除指定设备的数据,使用Promise异步回调。
系统能力: SystemCapability.DistributedDataManager.KVStore.DistributedKVStore
参数:
参数名 | 类型 | 必填 | 说明 |
deviceId | string | 是 | 标识要删除其数据的设备。 |
返回值:
类型 | 说明 |
Promise<void> | 无返回结果的Promise对象。 |
示例:
sync8+
sync(deviceIds: string[], mode: SyncMode, delayMs?: number): void
在手动同步方式下,触发数据库同步。关于分布式数据服务的同步方式说明,请见分布式数据服务概述。
此接口能力在HarmonyOS 3.1Beta1暂不支持。
需要权限: ohos.permission.DISTRIBUTED_DATASYNC。
系统能力: SystemCapability.DistributedDataManager.KVStore.Core
参数:
参数名 | 类型 | 必填 | 说明 |
deviceIds | string[] | 是 | 需要同步DeviceKvStore数据库的设备ID列表。 |
mode | 是 | 同步模式。 | |
delayMs | number | 否 | 可选参数,允许延时时间,单位:ms(毫秒)。 |
示例:
on('dataChange')8+
on(event: 'dataChange', type: SubscribeType, listener: Callback<ChangeNotification>): void
订阅指定类型的数据变更通知。
系统能力: SystemCapability.DistributedDataManager.KVStore.Core
参数:
参数名 | 类型 | 必填 | 说明 |
event | string | 是 | 订阅的事件名,固定为'dataChange',表示数据变更事件。 |
type | 是 | 表示订阅的类型。 | |
listener | Callback<ChangeNotification> | 是 | 回调函数。 |
示例:
on('syncComplete')8+
on(event: 'syncComplete', syncCallback: Callback<Array<[string, number]>>): void
订阅同步完成事件回调通知。
系统能力: SystemCapability.DistributedDataManager.KVStore.Core
参数:
参数名 | 类型 | 必填 | 说明 |
event | string | 是 | 订阅的事件名,固定为'syncComplete',表示同步完成事件。 |
syncCallback | Callback<Array<[string, number]>> | 是 | 回调函数。用于向调用方发送同步结果的回调。 |
示例:
off('dataChange')8+
off(event:'dataChange', listener?: Callback<ChangeNotification>): void
取消订阅数据变更通知。
系统能力: SystemCapability.DistributedDataManager.KVStore.Core
参数:
参数名 | 类型 | 必填 | 说明 |
event | string | 是 | 取消订阅的事件名,固定为'dataChange',表示数据变更事件。 |
listener | Callback<ChangeNotification> | 否 | 回调函数。 |
示例:
off('syncComplete')8+
off(event: 'syncComplete', syncCallback?: Callback<Array<[string, number]>>): void
取消订阅同步完成事件回调通知。
系统能力: SystemCapability.DistributedDataManager.KVStore.Core
参数:
参数名 | 类型 | 必填 | 说明 |
event | string | 是 | 取消订阅的事件名,固定为'syncComplete',表示同步完成事件。 |
syncCallback | Callback<Array<[string, number]>> | 否 | 回调函数。用于向调用方发送同步结果的回调。 |
示例:
SyncMode
同步模式枚举。
系统能力: SystemCapability.DistributedDataManager.KVStore.Core
名称 | 值 | 说明 |
PULL_ONLY | 0 | 表示只能从远端拉取数据到本端。 |
PUSH_ONLY | 1 | 表示只能从本端推送数据到远端。 |
PUSH_PULL | 2 | 表示从本端推送数据到远端,然后从远端拉取数据到本端。 |
