Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
1ca02748
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
1ca02748
编写于
7月 28, 2022
作者:
O
openharmony_ci
提交者:
Gitee
7月 28, 2022
浏览文件
操作
浏览文件
下载
差异文件
!7343 3.1Release分支:分布式数据服务指南优化:需同步翻译
Merge pull request !7343 from 葛亚芳/cherry-pick-1659001935
上级
b681435d
a407d013
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
25 addition
and
20 deletion
+25
-20
zh-cn/application-dev/database/database-mdds-guidelines.md
zh-cn/application-dev/database/database-mdds-guidelines.md
+25
-20
未找到文件。
zh-cn/application-dev/database/database-mdds-guidelines.md
浏览文件 @
1ca02748
...
...
@@ -9,19 +9,18 @@
具体分布式数据相关功能接口请见
[
分布式数据管理
](
../reference/apis/js-apis-distributed-data.md
)
。
OpenHarmony系统中的分布式数据服务模块为开发者提供下面几种功能:
**表1**
分布式数据服务关键API功能介绍
|
功能分类 |
接口名称 | 描述 |
| --------------------------
| --------------------------
---------------------------------- | ----------------------------------------------- |
|
分布式数据库创建。 | createKVManager(config:
KVManagerConfig,
callback:
AsyncCallback
<
KVManager
>
):
void
<br/>
createKVManager(config:
KVManagerConfig):
Promise
<
KVManager> | 创建一个KVManager
对象实例,用于管理数据库对象。 |
|
分布式数据库创建。 | getKVStore
<
T
extends
KVStore
>
(storeId:
string,
options:
Options,
callback:
AsyncCallback
<
T
>
):
void
<br/>
getKVStore
<
T
extends
KVStore
>
(storeId:
string,
options:
Options):
Promise
<
T
>
| 指定Options和storeId,创建并获取KVStore
数据库。 |
|
分布式数据增、删、改、查。 | put(key:
string,
value:
Uint8Array
\|
string
\|
number
\|
boolean,
callback:
AsyncCallback
<
void
>
):
void
<br/>
put(key:
string,
value:
Uint8Array
\|
string
\|
number
\|
boolean):
Promise
<
void> | 插入和更新数据。 |
|
分布式数据增、删、改、查。 | delete(key:
string,
callback:
AsyncCallback
<
void
>
):
void
<br/>
delete(key:
string):
Promise
<
void> | 删除数据。 |
|
分布式数据增、删、改、查。 | get(key:
string,
callback:
AsyncCallback
<
Uint8Array
\|
string
\|
boolean
\|
number
>
):
void
<br/>
get(key:
string):
Promise
<
Uint8Array
\|
string
\|
boolean
\|
number> | 查询数据。 |
|
订阅分布式数据变化。 | on(event:
'dataChange',
type:
SubscribeType,
observer:
Callback
<
ChangeNotification
>
):
void
<br/>
on(event:
'syncComplete',
syncCallback:
Callback
<
Array
<
[string,
number]
>>
):
void | 订阅数据库中数据的变化。 |
|
分布式数据同步。 | sync(deviceIdList:
string[],
mode:
SyncMode,
allowedDelayMs?:
number):
void | 在手动模式下,触发数据库同步。 |
| 接口名称 | 描述 |
| ------------------------------------------------------------ | ----------------------------------------------- |
|
createKVManager(config:KVManagerConfig,callback:AsyncCallback
<
KVManager
>
):void
<br/>
createKVManager(config:KVManagerConfig):Promise
<
KVManager> | 创建一个
`KVManager`
对象实例,用于管理数据库对象。 |
|
getKVStore
<
TextendsKVStore
>
(storeId:string,options:Options,callback:AsyncCallback
<
T
>
):void
<br/>
getKVStore
<
TextendsKVStore
>
(storeId:string,options:Options):Promise
<
T
>
| 指定
`Options`
和
`storeId`
,创建并获取
`KVStore`
数据库。 |
|
put(key:string,value:Uint8Array
\|
string
\|
number
\|
boolean,callback:AsyncCallback
<
void
>
):void
<br/>
put(key:string,value:Uint8Array\|string\|number\|boolean):
Promise
<
void> | 插入和更新数据。 |
|
delete(key:string,callback:AsyncCallback
<
void
>
):void
<br/>
delete(key:string):
Promise
<
void> | 删除数据。 |
|
get(key:string,callback:AsyncCallback
<
Uint8Array\|string\|boolean\|number
>
):void
<br/>
get(key:string):Promise
<
Uint8Array
\|
string
\|
boolean
\|
number> | 查询数据。 |
|
on(event:'dataChange',type:SubscribeType,observer:Callback
<
ChangeNotification
>
):void
<br/>
on(event:'syncComplete',syncCallback:Callback
<
Array
<
[string,number]
>>
):
void | 订阅数据库中数据的变化。 |
|
sync(deviceIdList:string[],mode:SyncMode,allowedDelayMs?:number):
void | 在手动模式下,触发数据库同步。 |
...
...
@@ -36,7 +35,7 @@ OpenHarmony系统中的分布式数据服务模块为开发者提供下面几种
```
2.
根据配置构造分布式数据库管理类实例。
1.
根据应用上下文创建
KvManagerConfig
对象。
1.
根据应用上下文创建
`kvManagerConfig`
对象。
2.
创建分布式数据库管理器实例。
以下为创建分布式数据库管理器的代码示例:
...
...
@@ -65,7 +64,7 @@ OpenHarmony系统中的分布式数据服务模块为开发者提供下面几种
3.
获取/创建分布式数据库。
1.
声明需要创建的分布式数据库ID描述。
2.
创建分布式数据库,建议关闭自动同步功能
(autoSync:false),需要同步时主动调用sync
接口。
2.
创建分布式数据库,建议关闭自动同步功能
(
`autoSync:false`
),需要同步时主动调用
`sync`
接口。
以下为创建分布式数据库的代码示例:
```
js
...
...
@@ -92,9 +91,10 @@ OpenHarmony系统中的分布式数据服务模块为开发者提供下面几种
}
```
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 组网设备间同步数据的场景,建议在应用启动时打开分布式数据库,获取数据库的句柄。在该句柄(如上例中的kvStore)的生命周期内无需重复创建数据库,可直接使用句柄对数据库进行数据的插入等操作。
> **说明:**
>
> 组网设备间同步数据的场景,建议在应用启动时打开分布式数据库,获取数据库的句柄。在该句柄(如示例中的`kvStore`)的生命周期内无需重复创建数据库,可直接使用句柄对数据库进行数据的插入等操作。
4.
订阅分布式数据变化。
以下为订阅单版本分布式数据库数据变化通知的代码示例:
```
js
...
...
@@ -104,7 +104,7 @@ OpenHarmony系统中的分布式数据服务模块为开发者提供下面几种
```
5.
将数据写入分布式数据库。
1.
构造需要写入分布式数据库的
Key(键)和Value(值)
。
1.
构造需要写入分布式数据库的
`Key`
(键)和
`Value`
(值)
。
2.
将键值数据写入分布式数据库。
以下为将字符串类型键值数据写入分布式数据库的代码示例:
...
...
@@ -126,7 +126,7 @@ OpenHarmony系统中的分布式数据服务模块为开发者提供下面几种
```
6.
查询分布式数据库数据。
1.
构造需要从单版本分布式数据库中查询的
Key(键)
。
1.
构造需要从单版本分布式数据库中查询的
`Key`
(键)
。
2.
从单版本分布式数据库中获取数据。
以下为从分布式数据库中查询字符串类型数据的代码示例:
...
...
@@ -150,9 +150,13 @@ OpenHarmony系统中的分布式数据服务模块为开发者提供下面几种
```
7.
同步数据到其他设备。
1.
选择同一组网环境下的设备以及同步模式,进行数据同步。
选择同一组网环境下的设备以及同步模式,进行数据同步。
以下为单版本分布式数据库进行数据同步的代码示例,其中deviceIds可由deviceManager调用getTrustedDeviceListSync()方法得到,1000表示最大延迟时间为1000ms:
> **说明**:
>
> 其中`deviceManager`模块的接口均为系统接口。
以下为单版本分布式数据库进行数据同步的代码示例:
```
js
import
deviceManager
from
'
@ohos.distributedHardware.deviceManager
'
;
...
...
@@ -161,7 +165,7 @@ OpenHarmony系统中的分布式数据服务模块为开发者提供下面几种
deviceManager
.
createDeviceManager
(
"
bundleName
"
,
(
err
,
value
)
=>
{
if
(
!
err
)
{
devManager
=
value
;
//
get deviceIds
//
deviceIds由deviceManager调用getTrustedDeviceListSync方法得到
let
deviceIds
=
[];
if
(
devManager
!=
null
)
{
var
devices
=
devManager
.
getTrustedDeviceListSync
();
...
...
@@ -170,6 +174,7 @@ OpenHarmony系统中的分布式数据服务模块为开发者提供下面几种
}
}
try
{
// 1000表示最大延迟时间为1000ms
kvStore
.
sync
(
deviceIds
,
distributedData
.
SyncMode
.
PUSH_ONLY
,
1000
);
}
catch
(
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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录