• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2# 分布式数据管理变更说明
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
129## cl.distributeddatamgr.2 data.DistributedObject.on参数变更
130
131**变更影响**
132
133无需应用适配变更。
134
135**关键接口/组件变更**
136
137共有2个on函数的参数发生变更
138
139修改前的接口原型
140
141 ```ts
142 on(type: 'change', callback: Callback<{ sessionId: string, fields: Array<string> }>): void;
143 on(
144   type: 'status',
145   callback: Callback<{ sessionId: string, networkId: string, status: 'online' | 'offline' }>
146 ): void;
147
148 ```
149
150修改后的接口原型
151
152 ```ts
153 on(type: 'change', callback: (sessionId: string, fields: Array<string>) => void): void;
154 on(
155    type: 'status',
156    callback: (sessionId: string, networkId: string, status: 'online' | 'offline' ) => void
157 ): void;
158 ```
159
160**适配指导**
161
162无需应用适配变更。
163
164
165
166## cl.distributeddatamgr.3 data.DistributedObject.off参数变更
167
168**变更影响**
169
170无需应用适配变更。
171
172**关键接口/组件变更**
173
174共有2个off函数的参数发生变更
175
176修改前的接口原型
177
178 ```ts
179off(type: 'change', callback?: Callback<{ sessionId: string, fields: Array<string> }>): void;
180off(
181  type: 'status',
182  callback?: Callback<{ sessionId: string, networkId: string, status: 'online' | 'offline' }>
183): void;
184
185 ```
186
187修改后的接口原型
188
189 ```ts
190off(type: 'change', callback?: (sessionId: string, fields: Array<string>) => void): void;
191off(
192   type: 'status',
193   callback?: (sessionId: string, networkId: string, status: 'online' | 'offline' ) => void
194): void;
195 ```
196
197**适配指导**
198
199无需应用适配变更。
200
201
202
203## cl.distributeddatamgr.4 data.DataObject.on参数变更
204
205**变更影响**
206
207无需应用适配变更。
208
209**关键接口/组件变更**
210
211共有2个on函数的参数发生变更
212
213修改前的接口原型
214
215 ```ts
216on(type: 'change', callback: Callback<{ sessionId: string, fields: Array<string> }>): void;
217on(
218  type: 'status',
219  callback: Callback<{ sessionId: string, networkId: string, status: 'online' | 'offline' }>
220): void;
221
222 ```
223
224修改后的接口原型
225
226 ```ts
227on(type: 'change', callback: (sessionId: string, fields: Array<string>) => void): void;
228on(
229   type: 'status',
230   callback: (sessionId: string, networkId: string, status: 'online' | 'offline' ) => void
231): void;
232 ```
233
234**适配指导**
235
236无需应用适配变更。
237
238
239
240## cl.distributeddatamgr.5 data.DataObject.off参数变更
241
242**变更影响**
243
244无需应用适配变更。
245
246**关键接口/组件变更**
247
248共有2个off函数的参数发生变更
249
250修改前的接口原型
251
252 ```ts
253off(type: 'change', callback?: Callback<{ sessionId: string, fields: Array<string> }>): void;
254off(
255  type: 'status',
256  callback?: Callback<{ sessionId: string, networkId: string, status: 'online' | 'offline' }>
257): void;
258
259 ```
260
261修改后的接口原型
262
263 ```ts
264off(type: 'change', callback?: (sessionId: string, fields: Array<string>) => void): void;
265off(
266   type: 'status',
267   callback?: (sessionId: string, networkId: string, status: 'online' | 'offline' ) => void
268): void;
269 ```
270
271**适配指导**
272
273无需应用适配变更。
274
275
276
277## cl.distributeddatamgr.6 data.preferences.on参数变更
278
279**变更影响**
280
281无需应用适配变更。
282
283**关键接口/组件变更**
284
285修改前的接口原型
286
287 ```ts
288on(type: 'multiProcessChange', callback: Callback<{ key : string }>): void
289on(type: 'change', callback: Callback<{ key : string }>): void
290 ```
291
292修改后的接口原型
293
294 ```ts
295on(type: 'multiProcessChange', callback: ( key : string ) => void): void
296on(type: 'change', callback: ( key : string ) => void): void
297 ```
298
299**适配指导**
300
301无需应用适配变更。
302
303
304
305## cl.distributeddatamgr.7 data.preferences.off参数变更
306
307**变更影响**
308
309无需应用适配变更。
310
311**关键接口/组件变更**
312
313修改前的接口原型
314
315 ```ts
316off(type: 'multiProcessChange', callback?: Callback<{ key : string }>): void
317off(type: 'change', callback?: Callback<{ key : string }>): void
318 ```
319
320修改后的接口原型
321
322 ```ts
323off(type: 'multiProcessChange', callback?: ( key : string ) => void): void
324off(type: 'change', callback?: ( key : string ) => void): void
325 ```
326
327**适配指导**
328
329无需应用适配变更。
330
331