1
2# 分布式数据管理子系统ChangeLog
3
4## cl.distributeddatamgr.1 @ohos.data.UDMF.d.ts拆分为@ohos.data.unifiedDataChannel.d.ts和@ohos.data.uniformTypeDescriptor.d.ts
5
6**变更影响**
7
8该变更为不兼容变更,原@ohos.data.UDMF.d.ts拆分为@ohos.data.unifiedDataChannel.d.ts和@ohos.data.uniformTypeDescriptor.d.ts9将原@ohos.data.UDMF.d.ts中定义的枚举类UnifiedDataType移动到@ohos.data.uniformTypeDescriptor.d.ts中并改名为UniformDataType,
10剩余接口定义移动到@ohos.data.unifiedDataChannel.d.ts中不做变化。
11
12**关键接口/组件变更**
13
14拆分前UnifiedDataType枚举类的定义:
15
16 | 名称                         | 值                            | 说明        |
17|----------------------------|------------------------------|-----------|
18| TEXT                       | 'Text'                       | 文本类型。     |
19| PLAIN_TEXT                 | 'Text.PlainText'             | 纯文本类型。    |
20| HYPERLINK                  | 'Text.Hyperlink'             | 超链接类型。    |
21| HTML                       | 'Text.HTML'                  | 富文本类型。    |
22| FILE                       | 'File'                       | 文件类型。     |
23| IMAGE                      | 'File.Media.Image'           | 图片类型。     |
24| VIDEO                      | 'File.Media.Video'           | 视频类型。     |
25| AUDIO                      | 'File.Media.Audio'           | 音频类型。     |
26| FOLDER                     | 'File.Folder'                | 文件夹类型。    |
27| SYSTEM_DEFINED_RECORD      | 'SystemDefinedType'          | 系统服务数据类型。 |
28| SYSTEM_DEFINED_FORM        | 'SystemDefinedType.Form'     | 卡片类型。     |
29| SYSTEM_DEFINED_APP_ITEM    | 'SystemDefinedType.AppItem'  | 图标类型。     |
30| SYSTEM_DEFINED_PIXEL_MAP   | 'SystemDefinedType.PixelMap' | 二进制图片类型。  |
31| APPLICATION_DEFINED_RECORD | 'ApplicationDefinedType'     | 应用自定义类型。  |
32
33拆分后改名为UniformDataType枚举类的定义:
341、删除了枚举值定义SYSTEM_DEFINED_RECORD和APPLICATION_DEFINED_RECORD。
352、枚举值SYSTEM_DEFINED_FORM改名为OPENHARMONY_FORM,枚举值SYSTEM_DEFINED_APP_ITEM改名为OPENHARMONY_APP_ITEM,枚举值SYSTEM_DEFINED_PIXEL_MAP改名为OPENHARMONY_PIXEL_MAP。
363、枚举值的字符串定义发生了变化。
37
38 | 名称                         | 值                            | 说明        |
39|----------------------------|------------------------------|-----------|
40| TEXT                       | 'general.text'                   | 文本类型。     |
41| PLAIN_TEXT                 | 'general.plain-text'             | 纯文本类型。    |
42| HYPERLINK                  | 'general.hyperlink'              | 超链接类型。    |
43| HTML                       | 'general.html'                   | 富文本类型。    |
44| FILE                       | 'general.file'                   | 文件类型。     |
45| IMAGE                      | 'general.image'                  | 图片类型。     |
46| VIDEO                      | 'general.video'                  | 视频类型。     |
47| AUDIO                      | 'general.audio'                  | 音频类型。     |
48| FOLDER                     | 'general.folder'                 | 文件夹类型。    |
49| OPENHARMONY_FORM           | 'openharmony.form'               | 卡片类型。     |
50| OPENHARMONY_APP_ITEM       | 'openharmony.app-item'           | 图标类型。     |
51| OPENHARMONY_PIXEL_MAP      | 'openharmony.pixel-map'          | 二进制图片类型。  |
52
53**适配指导**
54
55本次变更主要有以下几点需要开发人员适配:
561、将前文中的枚举值变化进行相应适配。
572、将导入模块由修改前的@ohos.data.UDMF模块更改为@ohos.data.unifiedDataChannel和@ohos.data.uniformTypeDescriptor两个模块。
583、根据导入模块的变化,将命名空间UDMF替换成对应的导入模块名,UnifiedDataType替换为UniformDataType。
59
60变更前代码示例:
61
62```
63// 导入@ohos.data.UDMF模块
64import UDMF from '@ohos.data.UDMF';
65
66// 创建一个统一数据对象实例
67let unifiedData = new UDMF.UnifiedData(image);
68
69// 创建纯文本数据类型记录,将其添加到刚才创建的UnifiedData对象
70let plainText = new UDMF.PlainText();
71plainText.textContent = 'this is textContent of plainText';
72unifiedData.addRecord(plainText);
73
74// 遍历每条记录,判断该记录的数据类型,转换为子类对象,得到原数据记录
75let records = unifiedData.getRecords();
76for (let i = 0; i < records.length; i ++) {
77  // 读取该数据记录的类型
78  let type = records[i].getType();
79  switch (type) {
80    case UDMF.UnifiedDataType.IMAGE:
81      // 转换得到原图片数据记录
82      let image = <UDMF.Image>(records[i]);
83      break;
84    case UDMF.UnifiedDataType.PLAIN_TEXT:
85      // 转换得到原文本数据记录
86      let plainText = <UDMF.PlainText>(records[i]);
87      break;
88    default:
89      break;
90  }
91}
92```
93
94变更后代码示例:
95
96```
97// 导入@ohos.data.unifiedDataChannel和@ohos.data.uniformTypeDescriptor模块
98import UDC from '@ohos.data.unifiedDataChannel';
99import UTD from '@ohos.data.uniformTypeDescriptor';
100
101// 创建一个统一数据对象实例
102let unifiedData = new UDC.UnifiedData(image);
103
104// 创建纯文本数据类型记录,将其添加到刚才创建的UnifiedData对象
105let plainText = new UDC.PlainText();
106plainText.textContent = 'this is textContent of plainText';
107unifiedData.addRecord(plainText);
108
109// 遍历每条记录,判断该记录的数据类型,转换为子类对象,得到原数据记录
110let records = unifiedData.getRecords();
111for (let i = 0; i < records.length; i ++) {
112  // 读取该数据记录的类型
113  let type = records[i].getType();
114  switch (type) {
115    case UTD.UniformDataType.IMAGE:
116      // 转换得到原图片数据记录
117      let image = <UDC.Image>(records[i]);
118      break;
119    case UTD.UniformDataType.PLAIN_TEXT:
120      // 转换得到原文本数据记录
121      let plainText = <UDC.PlainText>(records[i]);
122      break;
123    default:
124      break;
125  }
126}
127```
128