Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
5be37524
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看板
未验证
提交
5be37524
编写于
7月 28, 2022
作者:
葛
葛亚芳
提交者:
Gitee
7月 28, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
master:database/database-mdds-guidelines.md:分布式数据服务指南优化,需同步翻译
Signed-off-by:
N
@ge-yafang
<
geyafang@huawei.com
>
上级
892901d8
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
26 addition
and
21 deletion
+26
-21
zh-cn/application-dev/database/database-mdds-guidelines.md
zh-cn/application-dev/database/database-mdds-guidelines.md
+26
-21
未找到文件。
zh-cn/application-dev/database/database-mdds-guidelines.md
浏览文件 @
5be37524
...
...
@@ -8,19 +8,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 | 在手动模式下,触发数据库同步。 |
...
...
@@ -35,7 +34,7 @@ OpenHarmony系统中的分布式数据服务模块为开发者提供下面几种
```
2.
根据配置构造分布式数据库管理类实例。
1.
根据应用上下文创建
KvManagerConfig
对象。
1.
根据应用上下文创建
`kvManagerConfig`
对象。
2.
创建分布式数据库管理器实例。
以下为创建分布式数据库管理器的代码示例:
...
...
@@ -64,7 +63,7 @@ OpenHarmony系统中的分布式数据服务模块为开发者提供下面几种
3.
获取/创建分布式数据库。
1.
声明需要创建的分布式数据库ID描述。
2.
创建分布式数据库,建议关闭自动同步功能
(autoSync:false),需要同步时主动调用sync
接口。
2.
创建分布式数据库,建议关闭自动同步功能
(
`autoSync:false`
),需要同步时主动调用
`sync`
接口。
以下为创建分布式数据库的代码示例:
```
js
...
...
@@ -91,9 +90,10 @@ OpenHarmony系统中的分布式数据服务模块为开发者提供下面几种
}
```
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 组网设备间同步数据的场景,建议在应用启动时打开分布式数据库,获取数据库的句柄。在该句柄(如上例中的kvStore)的生命周期内无需重复创建数据库,可直接使用句柄对数据库进行数据的插入等操作。
> **说明:**
>
> 组网设备间同步数据的场景,建议在应用启动时打开分布式数据库,获取数据库的句柄。在该句柄(如示例中的`kvStore`)的生命周期内无需重复创建数据库,可直接使用句柄对数据库进行数据的插入等操作。
4.
订阅分布式数据变化。
以下为订阅单版本分布式数据库数据变化通知的代码示例:
```
js
...
...
@@ -103,7 +103,7 @@ OpenHarmony系统中的分布式数据服务模块为开发者提供下面几种
```
5.
将数据写入分布式数据库。
1.
构造需要写入分布式数据库的
Key(键)和Value(值)
。
1.
构造需要写入分布式数据库的
`Key`
(键)和
`Value`
(值)
。
2.
将键值数据写入分布式数据库。
以下为将字符串类型键值数据写入分布式数据库的代码示例:
...
...
@@ -125,7 +125,7 @@ OpenHarmony系统中的分布式数据服务模块为开发者提供下面几种
```
6.
查询分布式数据库数据。
1.
构造需要从单版本分布式数据库中查询的
Key(键)
。
1.
构造需要从单版本分布式数据库中查询的
`Key`
(键)
。
2.
从单版本分布式数据库中获取数据。
以下为从分布式数据库中查询字符串类型数据的代码示例:
...
...
@@ -149,9 +149,13 @@ OpenHarmony系统中的分布式数据服务模块为开发者提供下面几种
```
7.
同步数据到其他设备。
1.
选择同一组网环境下的设备以及同步模式,进行数据同步。
选择同一组网环境下的设备以及同步模式,进行数据同步。
以下为单版本分布式数据库进行数据同步的代码示例,其中deviceIds可由deviceManager调用getTrustedDeviceListSync()方法得到,1000表示最大延迟时间为1000ms:
> **说明**:
>
> 其中`deviceManager`模块的接口均为系统接口。
以下为单版本分布式数据库进行数据同步的代码示例:
```
js
import
deviceManager
from
'
@ohos.distributedHardware.deviceManager
'
;
...
...
@@ -160,7 +164,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
();
...
...
@@ -169,6 +173,7 @@ OpenHarmony系统中的分布式数据服务模块为开发者提供下面几种
}
}
try
{
// 1000表示最大延迟时间为1000ms
kvStore
.
sync
(
deviceIds
,
distributedData
.
SyncMode
.
PUSH_ONLY
,
1000
);
}
catch
(
e
)
{
console
.
log
(
"
An unexpected error occurred. Error:
"
+
e
);
...
...
@@ -181,4 +186,4 @@ OpenHarmony系统中的分布式数据服务模块为开发者提供下面几种
-
[
`DistributedDataGobang`:分布式五子棋(eTS)(API9)
](
https://gitee.com/openharmony/app_samples/tree/master/data/DistributedDataGobang
)
-
[
`DDMQuery`:结果集与谓词(eTS)(API8)
](
https://gitee.com/openharmony/app_samples/tree/master/data/DDMQuery
)
-
[
`KvStore`:分布式数据库(eTS)(API8)
](
https://gitee.com/openharmony/app_samples/tree/master/data/Kvstore
)
-
[
分布式数据库(JS)(API8)
](
https://gitee.com/openharmony/codelabs/tree/master/Data/JsDistributedData
)
-
[
分布式数据库(JS)(API8)
](
https://gitee.com/openharmony/codelabs/tree/master/Data/JsDistributedData
)
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录