未验证 提交 3d280e80 编写于 作者: 葛亚芳 提交者: Gitee

update zh-cn/application-dev/database/database-mdds-guidelines.md.

Signed-off-by: N@ge-yafang <geyafang@huawei.com>
Signed-off-by: N葛亚芳 <geyafang@huawei.com>
上级 3caeaf6e
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
## 接口说明 ## 接口说明
具体分布式数据相关功能接口请见[分布式数据管理](../reference/apis/js-apis-distributed-data.md) 分布式数据相关功能接口请见[分布式数据管理](../reference/apis/js-apis-distributed-data.md)
**表1** 分布式数据服务关键API功能介绍 **表1** 分布式数据服务关键API功能介绍
...@@ -21,9 +21,6 @@ ...@@ -21,9 +21,6 @@
| on(event:'dataChange',type:SubscribeType,observer:Callback&lt;ChangeNotification&gt;):void<br/>on(event:'syncComplete',syncCallback:Callback&lt;Array&lt;[string,number]&gt;&gt;):void | 订阅数据库中数据的变化。 | | on(event:'dataChange',type:SubscribeType,observer:Callback&lt;ChangeNotification&gt;):void<br/>on(event:'syncComplete',syncCallback:Callback&lt;Array&lt;[string,number]&gt;&gt;):void | 订阅数据库中数据的变化。 |
| sync(deviceIdList:string[],mode:SyncMode,allowedDelayMs?:number):void | 在手动模式下,触发数据库同步。 | | sync(deviceIdList:string[],mode:SyncMode,allowedDelayMs?:number):void | 在手动模式下,触发数据库同步。 |
## 开发步骤 ## 开发步骤
以单版本分布式数据库为例,说明开发步骤。 以单版本分布式数据库为例,说明开发步骤。
...@@ -40,14 +37,15 @@ ...@@ -40,14 +37,15 @@
2. 创建分布式数据库管理器实例。 2. 创建分布式数据库管理器实例。
以下为创建分布式数据库管理器的代码示例: 以下为创建分布式数据库管理器的代码示例:
```js ```js
let kvManager; let kvManager;
try { try {
const kvManagerConfig = { const kvManagerConfig = {
bundleName : 'com.example.datamanagertest', bundleName: 'com.example.datamanagertest',
userInfo : { userInfo: {
userId : '0', userId: '0',
userType : distributedData.UserType.SAME_USER_ID userType: distributedData.UserType.SAME_USER_ID
} }
} }
distributedData.createKVManager(kvManagerConfig, function (err, manager) { distributedData.createKVManager(kvManagerConfig, function (err, manager) {
...@@ -69,16 +67,17 @@ ...@@ -69,16 +67,17 @@
2. 创建分布式数据库,建议关闭自动同步功能(`autoSync:false`),需要同步时主动调用`sync`接口。 2. 创建分布式数据库,建议关闭自动同步功能(`autoSync:false`),需要同步时主动调用`sync`接口。
以下为创建分布式数据库的代码示例: 以下为创建分布式数据库的代码示例:
```js ```js
let kvStore; let kvStore;
try { try {
const options = { const options = {
createIfMissing : true, createIfMissing: true,
encrypt : false, encrypt: false,
backup : false, backup: false,
autoSync : false, autoSync: false,
kvStoreType : distributedData.KVStoreType.SINGLE_VERSION, kvStoreType: distributedData.KVStoreType.SINGLE_VERSION,
securityLevel : distributedData.SecurityLevel.S0 securityLevel: distributedData.SecurityLevel.S0
}; };
kvManager.getKVStore('storeId', options, function (err, store) { kvManager.getKVStore('storeId', options, function (err, store) {
if (err) { if (err) {
...@@ -100,6 +99,7 @@ ...@@ -100,6 +99,7 @@
4. 订阅分布式数据变化。 4. 订阅分布式数据变化。
以下为订阅单版本分布式数据库数据变化通知的代码示例: 以下为订阅单版本分布式数据库数据变化通知的代码示例:
```js ```js
kvStore.on('dataChange', distributedData.SubscribeType.SUBSCRIBE_TYPE_ALL, function (data) { kvStore.on('dataChange', distributedData.SubscribeType.SUBSCRIBE_TYPE_ALL, function (data) {
console.log("dataChange callback call data: " + JSON.stringify(data)); console.log("dataChange callback call data: " + JSON.stringify(data));
...@@ -124,7 +124,7 @@ ...@@ -124,7 +124,7 @@
} }
console.log("put success"); console.log("put success");
}); });
}catch (e) { } catch (e) {
console.log("An unexpected error occurred. Error: " + e); console.log("An unexpected error occurred. Error: " + e);
} }
``` ```
...@@ -135,6 +135,7 @@ ...@@ -135,6 +135,7 @@
2. 从单版本分布式数据库中获取数据。 2. 从单版本分布式数据库中获取数据。
以下为从分布式数据库中查询字符串类型数据的代码示例: 以下为从分布式数据库中查询字符串类型数据的代码示例:
```js ```js
const KEY_TEST_STRING_ELEMENT = 'key_test_string'; const KEY_TEST_STRING_ELEMENT = 'key_test_string';
const VALUE_TEST_STRING_ELEMENT = 'value-test-string'; const VALUE_TEST_STRING_ELEMENT = 'value-test-string';
...@@ -149,7 +150,7 @@ ...@@ -149,7 +150,7 @@
console.log("get success data: " + data); console.log("get success data: " + data);
}); });
}); });
}catch (e) { } catch (e) {
console.log("An unexpected error occurred. Error: " + e); console.log("An unexpected error occurred. Error: " + e);
} }
``` ```
...@@ -163,6 +164,7 @@ ...@@ -163,6 +164,7 @@
> 其中`deviceManager`模块的接口均为系统接口。 > 其中`deviceManager`模块的接口均为系统接口。
以下为单版本分布式数据库进行数据同步的代码示例: 以下为单版本分布式数据库进行数据同步的代码示例:
```js ```js
import deviceManager from '@ohos.distributedHardware.deviceManager'; import deviceManager from '@ohos.distributedHardware.deviceManager';
...@@ -182,7 +184,7 @@ ...@@ -182,7 +184,7 @@
try{ try{
// 1000表示最大延迟时间为1000ms // 1000表示最大延迟时间为1000ms
kvStore.sync(deviceIds, distributedData.SyncMode.PUSH_ONLY, 1000); kvStore.sync(deviceIds, distributedData.SyncMode.PUSH_ONLY, 1000);
}catch (e) { } catch (e) {
console.log("An unexpected error occurred. Error: " + e); console.log("An unexpected error occurred. Error: " + e);
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册