鸿蒙5.0开发进阶:ArkTS API-DataAbilityHelper

往期鸿蒙全套实战文章必看:(文中附带全栈鸿蒙学习资料)


DataAbilityHelper

可以通过acquireDataAbilityHelper接口获取DataAbilityHelper对象。

说明

本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

除了PacMap,本模块接口仅可在FA模型下使用。

导入模块

import ability from '@ohos.ability.ability';

使用说明

使用前根据具体情况引入如下模块

import ohos_data_ability from '@ohos.data.dataAbility';
import relationalStore from '@ohos.data.relationalStore';

DataAbilityHelper.openFile

openFile(uri: string, mode: string, callback: AsyncCallback<number>): void

打开指定uri对应的文件,返回文件描述符。使用callback异步回调。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

模型约束:此接口仅可在FA模型下使用。

参数:

参数名 类型 必填 说明
uri string 表示待打开文件的uri。
mode string 表示文件打开模式,可以设置为‘r’表示只读访问,‘w’表示只写访问,‘rw’表示读写访问等。
callback AsyncCallback<number> 回调函数,返回文件描述符。

示例:

import ability from '@ohos.ability.ability';
import featureAbility from '@ohos.ability.featureAbility';

let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
'dataability:///com.example.DataAbility'
);
let mode = 'rw';
DAHelper.openFile('dataability:///com.example.DataAbility', mode, (error, data) => {
if (error && error.code !== 0) {
console.error(`openFile fail, error: ${JSON.stringify(error)}`);
} else {
console.log(`openFile success, data: ${JSON.stringify(data)}`);
}
});

DataAbilityHelper.openFile

openFile(uri: string, mode: string): Promise<number>

打开指定uri对应的文件,返回文件描述符。使用Promise异步回调。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

模型约束:此接口仅可在FA模型下使用。

参数:

参数名 类型 必填 说明
uri string 表示待打开文件的uri。
mode string 表示文件打开模式,可以设置为‘r’表示只读访问,‘w’表示只写访问,‘rw’表示读写访问等。

返回值:

类型 说明
Promise<number> Promise对象,返回文件说明符。

示例:

import ability from '@ohos.ability.ability';
import featureAbility from '@ohos.ability.featureAbility';

let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
'dataability:///com.example.DataAbility'
);
let mode = 'rw';
DAHelper.openFile('dataability:///com.example.DataAbility', mode).then((data) => {
console.info(`openFile data: ${JSON.stringify(data)}`);
});

DataAbilityHelper.on('dataChange')

on(type: 'dataChange', uri: string, callback: AsyncCallback<void>): void

注册观察者以监听uri指定数据的数据变化通知。使用callback异步回调。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

模型约束:此接口仅可在FA模型下使用。

参数:

参数名 类型 必填 说明
type string 表示监听操作类型,'dataChange'表示数据变化操作。
uri string 表示待监听数据变化的uri。
callback AsyncCallback<void> 回调函数。当注册观察者以监听uri指定数据的数据变化通知成功,err为undefined,否则为错误对象。

示例:

import ability from '@ohos.ability.ability';
import featureAbility from '@ohos.ability.featureAbility';

let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
'dataability:///com.example.DataAbility'
);
function onChangeNotify() {
console.info('onChangeNotify call back');
};
DAHelper.on(
'dataChange',
'dataability:///com.example.DataAbility',
onChangeNotify
);

DataAbilityHelper.off('dataChange')

off(type: 'dataChange', uri: string, callback?: AsyncCallback<void>): void

注销观察者以停止监听uri指定数据的数据变化通知。使用callback异步回调。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

模型约束:此接口仅可在FA模型下使用。

参数:

参数名 类型 必填 说明
type string 表示监听操作类型,'dataChange'表示数据变化操作。
uri string 表示待取消监听数据变化的uri。
callback AsyncCallback<void> 回调函数。当注销观察者以停止监听uri指定数据的数据变化通知成功,err为undefined,否则为错误对象。

示例:

import ability from '@ohos.ability.ability';
import featureAbility from '@ohos.ability.featureAbility';

let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
'dataability:///com.example.DataAbility'
);
function onChangeNotify() {
console.info('onChangeNotify call back');
};
DAHelper.off(
'dataChange',
'dataability:///com.example.DataAbility',
onChangeNotify
);
DAHelper.off(
'dataChange',
'dataability:///com.example.DataAbility',
);

DataAbilityHelper.getType

getType(uri: string, callback: AsyncCallback<string>): void

获取给定uri指向数据的媒体资源类型。使用callback异步回调。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

模型约束:此接口仅可在FA模型下使用。

参数:

参数名 类型 必填 说明
uri string 表示待获取数据的uri。
callback AsyncCallback<string> 回调函数,返回与uri指向数据匹配的媒体资源类型。

示例:

import ability from '@ohos.ability.ability';
import featureAbility from '@ohos.ability.featureAbility';

let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
'dataability:///com.example.DataAbility'
);
DAHelper.getType('dataability:///com.example.DataAbility', (error, data) => {
if (error && error.code !== 0) {
console.error(`getType fail, error: ${JSON.stringify(error)}`);
} else {
console.log(`getType success, data: ${JSON.stringify(data)}`);
}
});

DataAbilityHelper.getType

getType(uri: string): Promise<string>

获取给定uri指向数据的媒体资源类型。使用Promise异步回调。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

模型约束:此接口仅可在FA模型下使用。

参数:

参数名 类型 必填 说明
uri string 表示待获取数据的uri。

返回值:

类型 说明
Promise<string> Promise对象,返回与uri指向数据匹配的媒体资源类型。

示例:

import ability from '@ohos.ability.ability';
import featureAbility from '@ohos.ability.featureAbility';

let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(
'dataability:///com.example.DataAbility'
);
DAHelper.getType('dataability:///com.example.DataAbility').then((data) => {
console.info(`getType data: ${JSON.stringify(data)}`);
});

DataAbilityHelper.getFileTypes

getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback<Array<string>>): void

获取支持的文件媒体资源类型。使用callback异步回调。

系统能力:SystemCapability.Ability.AbilityRuntime.FAModel

模型约束:此接口仅可在FA模型下使用。

参数:

参数名 类型 必填 说明
uri string 表示待获取文件的uri。
mimeTypeFilter string 表示待获取文件的媒体资源类型。
callback Async
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值