往期鸿蒙全套实战文章必看:(文中附带全栈鸿蒙学习资料)
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 |