Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
a6c38cf3
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看板
提交
a6c38cf3
编写于
8月 18, 2023
作者:
W
wangkai
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
UDMF接口拆分
Signed-off-by:
N
wangkai
<
wangkai424@huawei.com
>
上级
873194ec
变更
4
展开全部
隐藏空白更改
内联
并排
Showing
4 changed file
with
163 addition
and
140 deletion
+163
-140
zh-cn/application-dev/database/unified-data-channels.md
zh-cn/application-dev/database/unified-data-channels.md
+22
-20
zh-cn/application-dev/database/unified-data-definition.md
zh-cn/application-dev/database/unified-data-definition.md
+13
-11
zh-cn/application-dev/reference/apis/js-apis-data-unifiedDataChannel.md
...ion-dev/reference/apis/js-apis-data-unifiedDataChannel.md
+94
-109
zh-cn/application-dev/reference/apis/js-apis-data-uniformTypeDescriptor.md
...-dev/reference/apis/js-apis-data-uniformTypeDescriptor.md
+34
-0
未找到文件。
zh-cn/application-dev/database/unified-data-channels.md
浏览文件 @
a6c38cf3
...
...
@@ -29,7 +29,7 @@ UDMF针对多对多跨应用数据共享的不同业务场景提供了标准化
## 接口说明
以下是UDMF标准化数据通路的相关接口,均为异步接口。异步接口均有callback和Promise两种返回形式,下表均以callback形式为例,更多接口及使用方式请见
[
统一数据管理框架
](
../reference/apis/js-apis-data-udmf
.md
)
。
以下是UDMF标准化数据通路的相关接口,均为异步接口。异步接口均有callback和Promise两种返回形式,下表均以callback形式为例,更多接口及使用方式请见
[
标准化数据通路
](
../reference/apis/js-apis-data-unifiedDataChannel.md
)
和
[
标准化数据定义与描述
](
../reference/apis/js-apis-data-uniformTypeDescriptor
.md
)
。
| 接口名称 | 描述 |
|-----------------------------------------------------------------------------------------|---------------------------------------------|
...
...
@@ -45,24 +45,25 @@ UDMF针对多对多跨应用数据共享的不同业务场景提供了标准化
### 数据提供方
1.
导入
`@ohos.data.
UDMF
`
模块。
1.
导入
`@ohos.data.
unifiedDataChannel`
和
`@ohos.data.uniformTypeDescriptor
`
模块。
```
ts
import
UDMF
from
'
@ohos.data.UDMF
'
;
import
unifiedDataChannel
from
'
@ohos.data.unifiedDataChannel
'
;
import
uniformTypeDescriptor
from
'
@ohos.data.uniformTypeDescriptor
'
;
```
2.
创建一个统一数据对象并插入到UDMF的公共数据通路中。
```
ts
let
plainText
=
new
UDMF
.
PlainText
();
let
plainText
=
new
unifiedDataChannel
.
PlainText
();
plainText
.
textContent
=
'
hello world!
'
;
let
unifiedData
=
new
UDMF
.
UnifiedData
(
plainText
);
let
unifiedData
=
new
unifiedDataChannel
.
UnifiedData
(
plainText
);
// 指定要插入数据的数据通路枚举类型
let
options
=
{
intention
:
UDMF
.
Intention
.
DATA_HUB
intention
:
unifiedDataChannel
.
Intention
.
DATA_HUB
}
try
{
UDMF
.
insertData
(
options
,
unifiedData
,
(
err
,
data
)
=>
{
unifiedDataChannel
.
insertData
(
options
,
unifiedData
,
(
err
,
data
)
=>
{
if
(
err
===
undefined
)
{
console
.
info
(
`Succeeded in inserting data. key =
${
data
}
`
);
}
else
{
...
...
@@ -76,9 +77,9 @@ UDMF针对多对多跨应用数据共享的不同业务场景提供了标准化
3.
更新上一步骤插入的统一数据对象。
```
ts
let
plainText
=
new
UDMF
.
PlainText
();
let
plainText
=
new
unifiedDataChannel
.
PlainText
();
plainText
.
textContent
=
'
How are you!
'
;
let
unifiedData
=
new
UDMF
.
UnifiedData
(
plainText
);
let
unifiedData
=
new
unifiedDataChannel
.
UnifiedData
(
plainText
);
// 指定要更新的统一数据对象的URI
let
options
=
{
...
...
@@ -86,7 +87,7 @@ UDMF针对多对多跨应用数据共享的不同业务场景提供了标准化
};
try
{
UDMF
.
updateData
(
options
,
unifiedData
,
(
err
)
=>
{
unifiedDataChannel
.
updateData
(
options
,
unifiedData
,
(
err
)
=>
{
if
(
err
===
undefined
)
{
console
.
info
(
'
Succeeded in updating data.
'
);
}
else
{
...
...
@@ -102,18 +103,18 @@ UDMF针对多对多跨应用数据共享的不同业务场景提供了标准化
```
ts
// 指定要删除数据的数据通路枚举类型
let
options
=
{
intention
:
UDMF
.
Intention
.
DATA_HUB
intention
:
unifiedDataChannel
.
Intention
.
DATA_HUB
};
try
{
UDMF
.
deleteData
(
options
,
(
err
,
data
)
=>
{
unifiedDataChannel
.
deleteData
(
options
,
(
err
,
data
)
=>
{
if
(
err
===
undefined
)
{
console
.
info
(
`Succeeded in deleting data. size =
${
data
.
length
}
`
);
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
let
records
=
data
[
i
].
getRecords
();
for
(
let
j
=
0
;
j
<
records
.
length
;
j
++
)
{
if
(
records
[
j
].
getType
()
===
UDMF
.
Unified
DataType
.
PLAIN_TEXT
)
{
let
text
=
<
UDMF
.
PlainText
>
(
records
[
j
]);
if
(
records
[
j
].
getType
()
===
uniformTypeDescriptor
.
Uniform
DataType
.
PLAIN_TEXT
)
{
let
text
=
<
unifiedDataChannel
.
PlainText
>
(
records
[
j
]);
console
.
info
(
`
${
i
+
1
}
.
${
text
.
textContent
}
`
);
}
}
...
...
@@ -129,28 +130,29 @@ UDMF针对多对多跨应用数据共享的不同业务场景提供了标准化
### 数据访问方
1.
导入
`@ohos.data.
UDMF
`
模块。
1.
导入
`@ohos.data.
unifiedDataChannel`
和
`@ohos.data.uniformTypeDescriptor
`
模块。
```
ts
import
UDMF
from
'
@ohos.data.UDMF
'
;
import
unifiedDataChannel
from
'
@ohos.data.unifiedDataChannel
'
;
import
uniformTypeDescriptor
from
'
@ohos.data.uniformTypeDescriptor
'
;
```
2.
查询存储在UDMF公共数据通路中的统一数据对象。
```
ts
// 指定要查询数据的数据通路枚举类型
let
options
=
{
intention
:
UDMF
.
Intention
.
DATA_HUB
intention
:
unifiedDataChannel
.
Intention
.
DATA_HUB
};
try
{
UDMF
.
queryData
(
options
,
(
err
,
data
)
=>
{
unifiedDataChannel
.
queryData
(
options
,
(
err
,
data
)
=>
{
if
(
err
===
undefined
)
{
console
.
info
(
`Succeeded in querying data. size =
${
data
.
length
}
`
);
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
let
records
=
data
[
i
].
getRecords
();
for
(
let
j
=
0
;
j
<
records
.
length
;
j
++
)
{
if
(
records
[
j
].
getType
()
===
UDMF
.
Unified
DataType
.
PLAIN_TEXT
)
{
let
text
=
<
UDMF
.
PlainText
>
(
records
[
j
]);
if
(
records
[
j
].
getType
()
===
uniformTypeDescriptor
.
Uniform
DataType
.
PLAIN_TEXT
)
{
let
text
=
<
unifiedDataChannel
.
PlainText
>
(
records
[
j
]);
console
.
info
(
`
${
i
+
1
}
.
${
text
.
textContent
}
`
);
}
}
...
...
zh-cn/application-dev/database/unified-data-definition.md
浏览文件 @
a6c38cf3
...
...
@@ -5,6 +5,7 @@
为了构建OpenHarmony数据跨应用交互的标准定义,降低应用/业务数据交互成本,促进数据生态建设,UDMF提供了标准化的数据定义,统一定义了多种常用的数据类型。应用可以使用统一数据管理框架提供的接口创建和使用这些标准化数据类型。
例如跨应用拖拽场景,拖出方应用可以按照标准化数据定义将拖拽数据写入
[
拖拽事件
](
../reference/arkui-ts/ts-universal-events-drag-drop.md#dragevent说明
)
,拖入方应用从拖拽事件中读取拖拽数据并按照标准化数据定义进行数据的解析。这使得不同应用间的数据交互遵从相同的标准定义,避免了穷举式的数据类型适配,有效减少了跨应用数据交互的开发工作量。
## 标准化数据类型
...
...
@@ -39,9 +40,9 @@ UDMF提供的标准化数据类型主要包括以下几类:
## 接口说明
UDMF提供了统一数据对象UnifiedData,用于封装一组数据记录UnifiedRecord。数据记录UnifiedRecord则是对UDMF支持的数据内容的抽象定义,例如一条文本记录、一条图片记录等。数据记录中的数据内容类型对应为各数据类型Unif
ied
DataType。
UDMF提供了统一数据对象UnifiedData,用于封装一组数据记录UnifiedRecord。数据记录UnifiedRecord则是对UDMF支持的数据内容的抽象定义,例如一条文本记录、一条图片记录等。数据记录中的数据内容类型对应为各数据类型Unif
orm
DataType。
以下是常见的UDMF的接口说明,更多接口和具体说明,请见
[
统一数据管理框架
](
../reference/apis/js-apis-data-udmf
.md
)
。
以下是常见的UDMF的接口说明,更多接口和具体说明,请见
[
标准化数据通路
](
../reference/apis/js-apis-data-unifiedDataChannel.md
)
和
[
标准化数据定义与描述
](
../reference/apis/js-apis-data-uniformTypeDescriptor
.md
)
。
| 类名称 | 接口名称 | 描述 |
|---------------|-------------------|-----------------------------------------------------------------------------------------------|
...
...
@@ -55,17 +56,18 @@ UDMF提供了统一数据对象UnifiedData,用于封装一组数据记录Unifi
以一次创建统一数据对象(包含图片、纯文本两条数据记录)为例,说明开发步骤。
1.
导入
`@ohos.data.
UDMF
`
模块。
1.
导入
`@ohos.data.
unifiedDataChannel`
和
`@ohos.data.uniformTypeDescriptor
`
模块。
```
ts
import
UDMF
from
'
@ohos.data.UDMF
'
;
import
unifiedDataChannel
from
'
@ohos.data.unifiedDataChannel
'
;
import
uniformTypeDescriptor
from
'
@ohos.data.uniformTypeDescriptor
'
;
```
2.
创建图片数据记录,并初始化得到带有该数据记录的UnifiedData对象。
(1)创建图片数据记录。
```
ts
let
image
=
new
UDMF
.
Image
();
let
image
=
new
unifiedDataChannel
.
Image
();
```
(2)修改对象属性。
...
...
@@ -84,12 +86,12 @@ UDMF提供了统一数据对象UnifiedData,用于封装一组数据记录Unifi
(4)创建一个统一数据对象实例。
```
ts
let
unifiedData
=
new
UDMF
.
UnifiedData
(
image
);
let
unifiedData
=
new
unifiedDataChannel
.
UnifiedData
(
image
);
```
3.
创建纯文本数据类型记录,将其添加到刚才创建的UnifiedData对象。
```
ts
let
plainText
=
new
UDMF
.
PlainText
();
let
plainText
=
new
unifiedDataChannel
.
PlainText
();
plainText
.
textContent
=
'
this is textContent of plainText
'
;
plainText
.
abstract
=
'
abstract of plainText
'
;
plainText
.
details
=
{
...
...
@@ -110,13 +112,13 @@ UDMF提供了统一数据对象UnifiedData,用于封装一组数据记录Unifi
// 读取该数据记录的类型
let
type
=
records
[
i
].
getType
();
switch
(
type
)
{
case
UDMF
.
Unified
DataType
.
IMAGE
:
case
uniformTypeDescriptor
.
Uniform
DataType
.
IMAGE
:
// 转换得到原图片数据记录
let
image
=
<
UDMF
.
Image
>
(
records
[
i
]);
let
image
=
<
unifiedDataChannel
.
Image
>
(
records
[
i
]);
break
;
case
UDMF
.
Unified
DataType
.
PLAIN_TEXT
:
case
uniformTypeDescriptor
.
Uniform
DataType
.
PLAIN_TEXT
:
// 转换得到原文本数据记录
let
plainText
=
<
UDMF
.
PlainText
>
(
records
[
i
]);
let
plainText
=
<
unifiedDataChannel
.
PlainText
>
(
records
[
i
]);
break
;
default
:
break
;
...
...
zh-cn/application-dev/reference/apis/js-apis-data-u
dmf
.md
→
zh-cn/application-dev/reference/apis/js-apis-data-u
nifiedDataChannel
.md
浏览文件 @
a6c38cf3
此差异已折叠。
点击以展开。
zh-cn/application-dev/reference/apis/js-apis-data-uniformTypeDescriptor.md
0 → 100644
浏览文件 @
a6c38cf3
# @ohos.data.uniformTypeDescriptor(标准化数据定义与描述)
本模块描述OpenHarmony标准化数据类型的抽象定义。
> **说明:**
>
> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```
js
import
uniformTypeDescriptor
from
'
@ohos.data.uniformTypeDescriptor
'
;
```
## UniformDataType
OpenHarmony标准化数据类型的枚举定义。
**系统能力:**
SystemCapability.DistributedDataManager.UDMF.Core
| 名称 | 值 | 说明 |
|----------------------------|------------------------------|-----------|
| TEXT | 'general.text' | 文本类型。 |
| PLAIN_TEXT | 'general.plain-text' | 纯文本类型。 |
| HYPERLINK | 'general.hyperlink' | 超链接类型。 |
| HTML | 'general.html' | 富文本类型。 |
| FILE | 'general.file' | 文件类型。 |
| IMAGE | 'general.image' | 图片类型。 |
| VIDEO | 'general.video' | 视频类型。 |
| AUDIO | 'general.audio' | 音频类型。 |
| FOLDER | 'general.folder' | 文件夹类型。 |
| OPENHARMONY_FORM | 'openharmony.form' | 卡片类型。 |
| OPENHARMONY_APP_ITEM | 'openharmony.app-item' | 图标类型。 |
| OPENHARMONY_PIXEL_MAP | 'openharmony.pixel-map' | 二进制图片类型。 |
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录