同步操作将从 OpenHarmony/docs 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
说明: 从 API Version 7 开始支持。
import distributedData from '@ohos.data.distributedData';
无
createKVManager(config: KVManagerConfig, callback: AsyncCallback<KVManager>): void
创建一个KVManager对象实例,用于管理数据库对象,并通过callback方式返回,此方法为异步方法。
参数:
AsyncCallback<KVManager> |
示例:
let kvManager;
try {
const kvManagerConfig = {
bundleName : 'com.example.datamanagertest',
userInfo : {
userId : '0',
userType : 0
}
}
distributedData.createKVManager(kvManagerConfig, function (err, manager) {
if (err) {
console.log("createKVManager err: " + JSON.stringify(err));
return;
}
console.log("createKVManager success");
kvManager = manager;
});
} catch (e) {
console.log("An unexpected error occurred. Error:" + e);
}
createKVManager(config: KVManagerConfig): Promise<KVManager>
创建一个KVManager对象实例,用于管理数据库对象,并通过Promise方式返回,此方法为异步方法。
参数:
返回值:
Promise<KVManager> |
示例:
let kvManager;
try {
const kvManagerConfig = {
bundleName : 'com.example.datamanagertest',
userInfo : {
userId : '0',
userType : 0
}
}
distributedData.createKVManager(kvManagerConfig).then((manager) => {
console.log("createKVManager success");
kvManager = manager;
}).catch((err) => {
console.log("createKVManager err: " + JSON.stringify(err));
});
} catch (e) {
console.log("An unexpected error occurred. Error:" + e);
}
提供KVManager实例的配置信息,包括调用方的包名和用户信息。
用户信息。
用户类型。
数据管理实例,用于获取KVStore的相关信息。在调用KVManager的方法前,需要先通过createKVManager构建一个KVManager实例。
getKVStore<T extends KVStore>(storeId: string, options: Options, callback: AsyncCallback<T>): void
通过指定Options和storeId,创建并获取KVStore数据库,并通过callback方式返回,此方法为异步方法。
参数:
数据库唯一标识符,长度不大于MAX_STORE_ID_LENGTH。 |
|||
示例:
let kvStore;
try {
const options = {
createIfMissing : true,
encrypt : false,
backup : false,
autoSync : true,
kvStoreType : 1,
securityLevel : 3,
};
kvManager.getKVStore('storeId', options, function (err, store) {
if (err) {
console.log("getKVStore err: " + JSON.stringify(err));
return;
}
console.log("getKVStore success");
kvStore = store;
});
} catch (e) {
console.log("An unexpected error occurred. Error:" + e);
}
getKVStore<T extends KVStore>(storeId: string, options: Options): Promise<T>
通过指定Options和storeId,创建并获取KVStore数据库,并通过Promise方式返回,此方法为异步方法。
参数:
数据库唯一标识符,长度不大于MAX_STORE_ID_LENGTH。 |
|||
返回值:
示例:
let kvStore;
try {
const options = {
createIfMissing : true,
encrypt : false,
backup : false,
autoSync : true,
kvStoreType : 1,
securityLevel : 3,
};
kvManager.getKVStore('storeId', options).then((store) => {
console.log("getKVStore success");
kvStore = store;
}).catch((err) => {
console.log("getKVStore err: " + JSON.stringify(err));
});
} catch (e) {
console.log("An unexpected error occurred. Error:" + e);
}
用于提供创建数据库的配置信息。
用于指定创建的数据库的类型。
用于指定创建的数据库的安全级别。
KVStore常量。
KVStore数据库实例,提供增加数据、删除数据和订阅数据变更、订阅同步完成的方法。在调用KVStore的方法前,需要先通过getKVStore构建一个KVStore实例。
put(key: string, value: Uint8Array | string | number | boolean, callback: AsyncCallback<void>): void
添加指定类型键值对到数据库,并通过callback方式返回,此方法为异步方法。
参数:
要添加数据的key,不能为空且长度不大于MAX_KEY_LENGTH。 |
|||
要添加数据的value,支持Uint8Array、number 、 string 、boolean, Uint8Array、string 的长度不大于MAX_VALUE_LENGTH。 |
|||
示例
const KEY_TEST_STRING_ELEMENT = 'key_test_string';
const VALUE_TEST_STRING_ELEMENT = 'value-test-string';
try {
kvStore.put(KEY_TEST_STRING_ELEMENT, VALUE_TEST_STRING_ELEMENT, function (err,data) {
if (err != undefined) {
console.log("put err: " + JSON.stringify(err));
return;
}
console.log("put success");
});
}catch (e) {
console.log("An unexpected error occurred. Error:" + e);
}
put(key: string, value: Uint8Array | string | number | boolean): Promise<void>
添加指定类型键值对到数据库,并通过Promise方式返回,此方法为异步方法。
参数:
要添加数据的key,不能为空且长度不大于MAX_KEY_LENGTH。 |
|||
要添加数据的value,支持Uint8Array、number 、 string 、boolean, Uint8Array、string 的长度不大于MAX_VALUE_LENGTH。 |
返回值:
示例
const KEY_TEST_STRING_ELEMENT = 'key_test_string';
const VALUE_TEST_STRING_ELEMENT = 'value-test-string';
try {
kvStore.put(KEY_TEST_STRING_ELEMENT, VALUE_TEST_STRING_ELEMENT).then((data) => {
console.log("put success: " + JSON.stringify(data));
}).catch((err) => {
console.log("put err: " + JSON.stringify(err));
});
}catch (e) {
console.log("An unexpected error occurred. Error:" + e);
}
delete(key: string, callback: AsyncCallback<void>): void
从数据库中删除指定键值的数据,并通过callback方式返回,此方法为异步方法。
参数:
要删除数据的key,不能为空且长度不大于MAX_KEY_LENGTH。 |
|||
示例
const KEY_TEST_STRING_ELEMENT = 'key_test_string';
const VALUE_TEST_STRING_ELEMENT = 'value-test-string';
try {
kvStore.put(KEY_TEST_STRING_ELEMENT, VALUE_TEST_STRING_ELEMENT, function (err,data) {
if (err != undefined) {
console.log("put err: " + JSON.stringify(err));
return;
}
console.log("put success");
kvStore.delete(KEY_TEST_STRING_ELEMENT, function (err,data) {
if (err != undefined) {
console.log("delete err: " + JSON.stringify(err));
return;
}
console.log("delete success");
});
});
}catch (e) {
console.log("An unexpected error occurred. Error:" + e);
}
delete(key: string): Promise<void>
从数据库中删除指定键值的数据,并通过Promise方式返回,此方法为异步方法。
参数:
要删除数据的key,不能为空且长度不大于MAX_KEY_LENGTH。 |
返回值:
示例
const KEY_TEST_STRING_ELEMENT = 'key_test_string';
const VALUE_TEST_STRING_ELEMENT = 'value-test-string';
try {
kvStore.put(KEY_TEST_STRING_ELEMENT, VALUE_TEST_STRING_ELEMENT).then((data) => {
console.log("put success: " + JSON.stringify(data));
kvStore.delete(KEY_TEST_STRING_ELEMENT).then((data) => {
console.log("delete success");
}).catch((err) => {
console.log("delete err: " + JSON.stringify(err));
});
}).catch((err) => {
console.log("put err: " + JSON.stringify(err));
});
}catch (e) {
console.log("An unexpected error occurred. Error:" + e);
}
on(event: 'dataChange', type: SubscribeType, observer: Callback<ChangeNotification>): void
订阅指定类型的数据变更通知,此方法为同步方法。
参数:
Callback<ChangeNotification> |
示例
kvStore.on('dataChange', 2, function (data) {
console.log("dataChange callback call data: " + JSON.stringify(data));
});
on(event: 'syncComplete', syncCallback: Callback<Array<[string, number]>>): void
订阅数据同步完成通知,此方法为同步方法。
参数:
示例
kvStore.on('syncComplete', function (data) {
console.log("syncComplete callback call data: " + data);
});
描述订阅类型。
数据变更时通知的对象,包括数据插入的数据、更新的数据、删除的数据和设备ID。
Entry[] |
||||
Entry[] |
||||
Entry[] |
||||
存储在数据库中的键值对。
存储在数据库中的对象。
值,Uint8Array、string 的长度不大于MAX_VALUE_LENGTH。 |
用于表示数据类型。
只能被内部应用使用。
单版本分布式数据库,继承自KVStore,提供查询数据和同步数据的方法。在调用SingleKVStore的方法前,需要先通过getKVStore构建一个KVStore实例。
get(key: string, callback: AsyncCallback<Uint8Array | string | boolean | number>): void
获取指定键的值,并通过callback方式返回,此方法为异步方法。
参数:
要查询数据的key,不能为空且长度不大于MAX_KEY_LENGTH。 |
|||
示例
const KEY_TEST_STRING_ELEMENT = 'key_test_string';
const VALUE_TEST_STRING_ELEMENT = 'value-test-string';
try {
kvStore.put(KEY_TEST_STRING_ELEMENT, VALUE_TEST_STRING_ELEMENT, function (err,data) {
if (err != undefined) {
console.log("put err: " + JSON.stringify(err));
return;
}
console.log("put success");
kvStore.get(KEY_TEST_STRING_ELEMENT, function (err,data) {
console.log("get success data: " + data);
});
});
}catch (e) {
console.log("An unexpected error occurred. Error:" + e);
}
get(key: string): Promise<Uint8Array | string | boolean | number>
获取指定键的值,并通过Promise方式返回,此方法为异步方法。
参数:
要查询数据的key,不能为空且长度不大于MAX_KEY_LENGTH。 |
返回值:
示例
const KEY_TEST_STRING_ELEMENT = 'key_test_string';
const VALUE_TEST_STRING_ELEMENT = 'value-test-string';
try {
kvStore.put(KEY_TEST_STRING_ELEMENT, VALUE_TEST_STRING_ELEMENT).then((data) => {
console.log("put success: " + JSON.stringify(data));
kvStore.get(KEY_TEST_STRING_ELEMENT).then((data) => {
console.log("get success data: " + data);
}).catch((err) => {
console.log("get err: " + JSON.stringify(err));
});
}).catch((err) => {
console.log("put err: " + JSON.stringify(err));
});
}catch (e) {
console.log("An unexpected error occurred. Error:" + e);
}
sync(deviceIdList: string[], mode: SyncMode, allowedDelayMs?: number): void
在手动同步模式下,触发数据库同步,此方法为同步方法。
参数:
示例:
kvStore.sync(deviceIds, 1, 1000);
用于指定同步模式。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。