diff --git a/zh-cn/release-notes/changelogs/OpenHarmony_4.0.10.3/changelogs-distributeddatamgr.md b/zh-cn/release-notes/changelogs/OpenHarmony_4.0.10.3/changelogs-distributeddatamgr.md new file mode 100644 index 0000000000000000000000000000000000000000..18c26fe7768cf052eba8e9a4e9d570d2ed37ec2e --- /dev/null +++ b/zh-cn/release-notes/changelogs/OpenHarmony_4.0.10.3/changelogs-distributeddatamgr.md @@ -0,0 +1,127 @@ + +# 分布式数据管理子系统ChangeLog + +## cl.distributeddatamgr.1 @ohos.data.UDMF.d.ts拆分为@ohos.data.unifiedDataChannel.d.ts和@ohos.data.uniformTypeDescriptor.d.ts + +**变更影响** + +该变更为不兼容变更,原@ohos.data.UDMF.d.ts拆分为@ohos.data.unifiedDataChannel.d.ts和@ohos.data.uniformTypeDescriptor.d.ts。 +将原@ohos.data.UDMF.d.ts中定义的枚举类UnifiedDataType移动到@ohos.data.uniformTypeDescriptor.d.ts中并改名为UniformDataType, +剩余接口定义移动到@ohos.data.unifiedDataChannel.d.ts中不做变化。 + +**关键接口/组件变更** + +拆分前UnifiedDataType枚举类的定义: + + | 名称 | 值 | 说明 | +|----------------------------|------------------------------|-----------| +| TEXT | 'Text' | 文本类型。 | +| PLAIN_TEXT | 'Text.PlainText' | 纯文本类型。 | +| HYPERLINK | 'Text.Hyperlink' | 超链接类型。 | +| HTML | 'Text.HTML' | 富文本类型。 | +| FILE | 'File' | 文件类型。 | +| IMAGE | 'File.Media.Image' | 图片类型。 | +| VIDEO | 'File.Media.Video' | 视频类型。 | +| AUDIO | 'File.Media.Audio' | 音频类型。 | +| FOLDER | 'File.Folder' | 文件夹类型。 | +| SYSTEM_DEFINED_RECORD | 'SystemDefinedType' | 系统服务数据类型。 | +| SYSTEM_DEFINED_FORM | 'SystemDefinedType.Form' | 卡片类型。 | +| SYSTEM_DEFINED_APP_ITEM | 'SystemDefinedType.AppItem' | 图标类型。 | +| SYSTEM_DEFINED_PIXEL_MAP | 'SystemDefinedType.PixelMap' | 二进制图片类型。 | +| APPLICATION_DEFINED_RECORD | 'ApplicationDefinedType' | 应用自定义类型。 | + +拆分后改名为UniformDataType枚举类的定义: +1、删除了枚举值定义SYSTEM_DEFINED_RECORD和APPLICATION_DEFINED_RECORD。 +2、枚举值SYSTEM_DEFINED_FORM改名为OPENHARMONY_FORM,枚举值SYSTEM_DEFINED_APP_ITEM改名为OPENHARMONY_APP_ITEM,枚举值SYSTEM_DEFINED_PIXEL_MAP改名为OPENHARMONY_PIXEL_MAP。 +3、枚举值的字符串定义发生了变化。 + + | 名称 | 值 | 说明 | +|----------------------------|------------------------------|-----------| +| 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' | 二进制图片类型。 | + +**适配指导** + +本次变更主要有以下几点需要开发人员适配: +1、将前文中的枚举值变化进行相应适配。 +2、将导入模块由修改前的@ohos.data.UDMF模块更改为@ohos.data.unifiedDataChannel和@ohos.data.uniformTypeDescriptor两个模块。 +3、根据导入模块的变化,将命名空间UDMF替换成对应的导入模块名,UnifiedDataType替换为UniformDataType。 + +变更前代码示例: + +``` +// 导入@ohos.data.UDMF模块 +import UDMF from '@ohos.data.UDMF'; + +// 创建一个统一数据对象实例 +let unifiedData = new UDMF.UnifiedData(image); + +// 创建纯文本数据类型记录,将其添加到刚才创建的UnifiedData对象 +let plainText = new UDMF.PlainText(); +plainText.textContent = 'this is textContent of plainText'; +unifiedData.addRecord(plainText); + +// 遍历每条记录,判断该记录的数据类型,转换为子类对象,得到原数据记录 +let records = unifiedData.getRecords(); +for (let i = 0; i < records.length; i ++) { + // 读取该数据记录的类型 + let type = records[i].getType(); + switch (type) { + case UDMF.UnifiedDataType.IMAGE: + // 转换得到原图片数据记录 + let image = (records[i]); + break; + case UDMF.UnifiedDataType.PLAIN_TEXT: + // 转换得到原文本数据记录 + let plainText = (records[i]); + break; + default: + break; + } +} +``` + +变更后代码示例: + +``` +// 导入@ohos.data.unifiedDataChannel和@ohos.data.uniformTypeDescriptor模块 +import UDC from '@ohos.data.unifiedDataChannel'; +import UTD from '@ohos.data.uniformTypeDescriptor'; + +// 创建一个统一数据对象实例 +let unifiedData = new UDC.UnifiedData(image); + +// 创建纯文本数据类型记录,将其添加到刚才创建的UnifiedData对象 +let plainText = new UDC.PlainText(); +plainText.textContent = 'this is textContent of plainText'; +unifiedData.addRecord(plainText); + +// 遍历每条记录,判断该记录的数据类型,转换为子类对象,得到原数据记录 +let records = unifiedData.getRecords(); +for (let i = 0; i < records.length; i ++) { + // 读取该数据记录的类型 + let type = records[i].getType(); + switch (type) { + case UTD.UniformDataType.IMAGE: + // 转换得到原图片数据记录 + let image = (records[i]); + break; + case UTD.UniformDataType.PLAIN_TEXT: + // 转换得到原文本数据记录 + let plainText = (records[i]); + break; + default: + break; + } +} +```