openharmony 鸿蒙 changelogs-distributeddatamgr

2023-10-30 浏览 (383)

分布式数据管理子系统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 = <UDMF.Image>(records[i]);
      break;
    case UDMF.UnifiedDataType.PLAIN_TEXT:
      // 转换得到原文本数据记录
      let plainText = <UDMF.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 = <UDC.Image>(records[i]);
      break;
    case UTD.UniformDataType.PLAIN_TEXT:
      // 转换得到原文本数据记录
      let plainText = <UDC.PlainText>(records[i]);
      break;
    default:
      break;
  }
}

你可能感兴趣的鸿蒙文章

harmony 鸿蒙程序访问控制子系统ChangeLog

harmony 鸿蒙ArkCompiler子系统Changelog

harmony 鸿蒙DFX子系统ChangeLog

harmony 鸿蒙arkui子系统ChangeLog

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/a4c894de52c64a32b23bb78343bb98e2