diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-udmf.md b/zh-cn/application-dev/reference/apis/js-apis-data-udmf.md deleted file mode 100644 index 0f4587397022d6767bc5b70a8038dec813244a43..0000000000000000000000000000000000000000 --- a/zh-cn/application-dev/reference/apis/js-apis-data-udmf.md +++ /dev/null @@ -1,379 +0,0 @@ -# @ohos.data.UDMF(统一数据管理框架) - -本模块提供数据统一管理的能力,包括对文本、图片等数据类型的标准化定义。通过调用对应数据类型的接口,应用程序可将各种数据封装为统一数据对象。 - -> **说明:** -> -> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 - -## 导入模块 - -```js -import UDMF from '@ohos.data.UDMF'; -``` - -## UnifiedDataType - -[UnifiedData](#unifieddata)中各[UnifiedRecord](#unifiedrecord)的数据类型。 - -**系统能力:** SystemCapability.DistributedDataManager.UDMF.Core - -| 名称 | 值 | 说明 | -| ------------------------ | ---------------------------- | ---------------- | -| TEXT | "Text" | 文本类型 | -| PLAIN_TEXT | "Text.PlainText" | 纯文本类型 | -| HYPER_LINK | "Text.HyperLink" | 超链接类型 | -| HTML | "Text.HTML" | 富文本类型 | -| IMAGE | "File.Media.Image" | 图片类型 | -| VIDEO | "File.Media.Video" | 视频类型 | -| SYSTEM_DEFINED_RECORD | "SystemDefinedType" | 系统服务数据类型 | -| SYSTEM_DEFINED_FORM | "SystemDefinedType.Form" | 卡片类型 | -| SYSTEM_DEFINED_APP_ITEM | "SystemDefinedType.AppItem" | 图标类型 | -| SYSTEM_DEFINED_PIXEL_MAP | "SystemDefinedType.PixelMap" | 二进制图片类型 | - -## UnifiedData - -表示UDMF数据对象,提供封装一组数据记录的方法。 - -**系统能力:** SystemCapability.DistributedDataManager.UDMF.Core - -### constructor - -constructor(record: UnifiedRecord) - -用于创建带有一条数据记录的UnifiedData对象。此处数据记录应为UnifiedRecord子类对象。 - -**系统能力:** SystemCapability.DistributedDataManager.UDMF.Core - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------------------------------- | ---- | ------------------------------- | -| record | [UnifiedRecord](#unifiedrecord) | 是 | 要添加到UnifiedData中的数据记录 | - -### addRecord - -addRecord(record: UnifiedRecord): void - -在当前UnifiedData对象中添加一条数据记录。此处数据记录应为UnifiedRecord子类对象。 - -**系统能力:** SystemCapability.DistributedDataManager.UDMF.Core - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------------------------------- | ---- | ------------------------------- | -| record | [UnifiedRecord](#unifiedrecord) | 是 | 要添加到UnifiedData中的数据记录 | - -**示例:** - -```js -let text1 = new UDMF.PlainText(); -text1.textContent = 'this is textContent of text1'; -let unifiedData = new UDMF.UnifiedData(text1); - -let text2 = new UDMF.PlainText(); -text2.textContent = 'this is textContent of text2'; -unifiedData.addRecord(text2); -``` - -### getRecords - -getRecords(): Array\ - -将当前UnifiedData对象中的所有数据记录取出。通过本接口取出的数据为UnifiedRecord类型,需通过[getType](#gettype)获取数据类型后转为子类再使用。 - -**系统能力** :SystemCapability.DistributedDataManager.UDMF.Core - -**返回值:** - -| 类型 | 说明 | -| ---------------------------------------- | --------------------------------- | -| Array\<[UnifiedRecord](#unifiedrecord)\> | 当前UnifiedData对象内所添加的记录 | - -**示例:** - -```js -let records = unifiedData.getRecords(); -for (let i = 0; i < records.length; i ++) { - let record = records[i]; -} -``` - -## Summary - -描述某一UnifiedData对象的数据摘要,包括所含数据类型及大小。 - -**系统能力:** SystemCapability.DistributedDataManager.UDMF.Core - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| --------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ | -| summary | { [key: string]: number } | 是 | 否 | 是一个字典类型对象,key表示数据类型(见[UnifiedDataType](#unifieddatatype)),value为UnifiedData对象中该类型记录数据量总和(当前文件类型记录仅记录uri大小,非文件大小) | -| totalSize | number | 是 | 否 | UnifiedData对象内记录总大小 | - -**示例:** - -```js -getSummaryCallback(data, err) { - let summaryData = data; - console.info(`summary: ${JSON.stringify(summaryData.summary)}`); - console.info(`totalSize: ${summaryData.totalSize}`); -} -``` - -## UnifiedRecord - -对UDMF数据支持的数据内容的抽象定义,称为记录,一个统一数据对象内包含一条或多条记录,例如一条文本记录,一条图片记录,一条HTML记录等。 - -UnifiedRecord是一个抽象父类,无法保存具体数据内容,应用在使用时,不能将其添加到UnifiedData中,而应该创建带有数据内容的具体子类,如Text、Image等。 - -### getType - -getType(): string - -获取当前UnifiedRecord的类型。由于从UnifiedData中调用[getRecords](#getrecords)所取出的数据是UnifiedRecord对象,因此需要通过本接口查询此记录的具体类型,再将该UnifiedRecord对象转换为其子类,调用子类接口。 - -**系统能力** :SystemCapability.DistributedDataManager.UDMF.Core - -**返回值:** - -| 类型 | 说明 | -| ------ | ------------------------------------------------------------ | -| string | 当前数据记录对应的具体数据类型,见[UnifiedDataType](#UnifiedDataType) | - -**示例:** - -```js -let text = new UDMF.PlainText(); -text.textContent = 'this is textContent of text'; -let unifiedData = new UDMF.UnifiedData(text); - -let records = unifiedData.getRecords(); -if (records[0].getType() == UDMF.UnifiedDataType.PLAIN_TEXT) { - let plainText = (records[0]); - console.info(`textContent: ${plainText.textContent}`); -} -``` - -## Text - -文本类型数据,是[UnifiedRecord](#unifiedrecord)的子类,也是文本类型数据的基类,用于描述文本类数据,推荐开发者优先使用Text的子类描述数据。 - -**系统能力**:SystemCapability.DistributedDataManager.UDMF.Core - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| ------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ | -| details | { [key: string]: string } | 是 | 是 | 是一个字典类型对象,key和value都是string类型,用于描述文本内容,例如,可生成一个details内容为
{
"title":"标题",
"content":"内容"
}
的数据对象,用于描述一篇文章。 | - -**示例:** - -```js -let text = new UDMF.Text(); -text.details = { - title: 'MyTitle', - content: 'this is content', -}; -let unifiedData = new UDMF.UnifiedData(text); -``` - -## PlainText - -纯文本类型数据,是[Text](#text)的子类,用于描述纯文本类数据。 - -**系统能力**:SystemCapability.DistributedDataManager.UDMF.Core - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| ----------- | ------ | ---- | ---- | ---------------------- | -| textContent | string | 是 | 是 | 纯文本内容 | -| abstract | string | 是 | 是 | 纯文本摘要,非必填字段 | - -**示例:** - -```js -let text = new UDMF.PlainText(); -text.textContent = 'this is textContent'; -``` - -## HyperLink - -超链接类型数据,是[Text](#text)的子类,用于描述超链接类型数据。 - -**系统能力**:SystemCapability.DistributedDataManager.UDMF.Core - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| ----------- | ------ | ---- | ---- | ------------------------ | -| url | string | 是 | 是 | 链接url | -| description | string | 是 | 是 | 链接内容描述,非必填字段 | - -**示例:** - -```js -let link = new UDMF.HyperLink(); -link.url = 'www.XXX.com'; -``` - -## HTML - -HTML类型数据,是[Text](#text)的子类,用于描述超文本标记语言数据。 - -**系统能力**:SystemCapability.DistributedDataManager.UDMF.Core - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| ------------ | ------ | ---- | ---- | -------------------------------------- | -| htmlContent | string | 是 | 是 | html格式内容 | -| plainContent | string | 是 | 是 | 去除html标签后的纯文本内容,非必填字段 | - -**示例:** - -```js -let html = new UDMF.HTML(); -html.htmlContent = '

标题

'; -``` - -## Image - -图片类型数据,是[UnifiedRecord](#unifiedrecord)的子类,用于描述图片文件。 - -**系统能力**:SystemCapability.DistributedDataManager.UDMF.Core - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| -------- | ------ | ---- | ---- | ----------- | -| imageUri | string | 是 | 是 | 图片数据uri | - -**示例:** - -```js -let image = new UDMF.Image(); -image.imageUri = 'schema://com.samples.test/files/test.jpg'; -``` - -## Video - -视频类型数据,是[UnifiedRecord](#unifiedrecord)的子类,用于描述视频文件。 - -**系统能力**:SystemCapability.DistributedDataManager.UDMF.Core - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| -------- | ------ | ---- | ---- | ----------- | -| videoUri | string | 是 | 是 | 视频数据uri | - -**示例:** - -```js -let video = new UDMF.Video(); -video.videoUri = 'schema://com.samples.test/files/test.mp4'; -``` - -## SystemDefinedRecord - -SystemDefinedRecord是[UnifiedRecord](#unifiedrecord)的子类,也是OpenHarmony平台上系统侧定义的数据类型的基类,用于描述文本类数据,推荐开发者优先使用SystemDefinedRecord的子类描述数据。 - -**系统能力**:SystemCapability.DistributedDataManager.UDMF.Core - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| ------- | ------------------------------------------------- | ---- | ---- | ------------------------------------------------------------ | -| details | { [key: string]: number \| string \| Uint8Array } | 是 | 是 | 是一个字典类型对象,key是string类型,value可以写入number(数值类型),string(字符串类型),Uint8Array(二进制字节数组)类型数据。 | - -**示例:** - -```js -let sdr = new UDMF.SystenDefinedReocrd(); -let u8Array = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]); -sdr.details = { - title: 'recordTitle', - version: 1, - content: u8Array, -}; -let unifiedData = new UDMF.UnifiedData(sdr); -``` - -## SystemDefinedForm - -卡片类型数据,是[SystemDefinedRecord](#systemdefinedrecord)的子类。 - -**系统能力**:SystemCapability.DistributedDataManager.UDMF.Core - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| ----------- | ------ | ---- | ---- | ----------------- | -| formId | number | 是 | 是 | 卡片id | -| formName | string | 是 | 是 | 卡片名称 | -| bundleName | string | 是 | 是 | 卡片所属bundle名 | -| abilityName | string | 是 | 是 | 卡片对应ability名 | -| module | string | 是 | 是 | 卡片所属module名 | - -**示例:** - -```js -let form = new UDMF.SystemDefinedForm(); -form.formId = 123456; -form.formName = 'MyFormName'; -form.bundleName = 'MyBundleName'; -form.abilityName = 'MyAbilityName'; -form.module = 'MyModule'; -let u8Array = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]); -form.details = { - formKey1: 123, - formKey2: 'formValue', - formKey3: u8Array, -}; -let unifiedData = new UDMF.UnifiedData(form); -``` - -## SystemDefinedAppItem - -图标类型数据,是[SystemDefinedRecord](#systemdefinedrecord)的子类。 - -**系统能力**:SystemCapability.DistributedDataManager.UDMF.Core - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| ----------- | ------ | ---- | ---- | --------------------- | -| appId | string | 是 | 是 | 图标对应应用id | -| appName | string | 是 | 是 | 图标对应应用名 | -| appIconId | string | 是 | 是 | 图标图片id | -| appLabelId | string | 是 | 是 | 图标标签id | -| bundleName | string | 是 | 是 | 图标对应应用bundle名 | -| abilityName | string | 是 | 是 | 图标对应应用ability名 | - -**示例:** - -```js -let appItem = new UDMF.SystemDefinedAppItem(); -appItem.appId = 'MyAppId'; -appItem.appName = 'MyAppName'; -appItem.appIconId = 'MyAppIconId'; -appItem.appLabelId = 'MyAppLabelId'; -appItem.bundleName = 'MyBundleName'; -appItem.abilityName = 'MyAbilityName'; -let u8Array = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]); -appItem.details = { - appItemKey1: 123, - appItemKey2: 'appItemValue', - appItemKey3: u8Array, -}; -let unifiedData = new UDMF.UnifiedData(appItem); -``` - -## SystemDefinedPixelMap - -与系统侧定义的PixelMap类型数据对应的图片类型数据,是[SystemDefinedRecord](#systemdefinedrecord)的子类,仅保存PixelMap的二进制数据。 - -**系统能力**:SystemCapability.DistributedDataManager.UDMF.Core - -| 名称 | 类型 | 可读 | 可写 | 说明 | -| ------- | ---------- | ---- | ---- | ------------------------ | -| rawData | Uint8Array | 是 | 是 | PixelMap对象的二进制数据 | - -**示例:** - -```js -import image from '@ohos.multimedia.image'; // PixelMap类定义所在模块 - -let arrayBuf = new ArrayBuffer(pixelmap.getPixelBytesNumber()); // pixelmap为image.PixelMap对象 -pixelmap.readPixelsToBuffer(arrayBuf); -let u8Array = new Uint8Array(arrayBuf); -let sdpixel = new UDMF.SystemDefinedPixelMap(); -sdpixel.rawData = u8Array; -let unifiedData = new UDMF.UnifiedData(sdpixel); -``` - -