Interface (FetchResult)
文件检索结果集。
说明:
本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
导入模块
import { photoAccessHelper } from '@kit.MediaLibraryKit';
getCount
getCount(): number
获取文件检索结果中的文件总数。
原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
返回值:
| 类型 | 说明 |
|---|---|
| number | 检索到的文件总数。 |
错误码:
以下错误码的详细介绍请参见文件管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 13900020 | Invalid argument. |
| 14000011 | System inner fail. |
示例:
phAccessHelper的创建请参考photoAccessHelper.getPhotoAccessHelper的示例使用。
import { dataSharePredicates } from '@kit.ArkData';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('getCountDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOption: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
let fetchCount = fetchResult.getCount();
console.info('fetchCount = ', fetchCount);
}
isAfterLast
isAfterLast(): boolean
检查结果集是否指向最后一行。
原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
返回值:
| 类型 | 说明 |
|---|---|
| boolean | 当读到最后一条记录后,后续没有记录返回true,否则返回false。 |
错误码:
以下错误码的详细介绍请参见文件管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 13900020 | Invalid argument. |
| 14000011 | System inner fail. |
示例:
phAccessHelper的创建请参考photoAccessHelper.getPhotoAccessHelper的示例使用。
import { dataSharePredicates } from '@kit.ArkData';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOption: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
let fetchCount = fetchResult.getCount();
console.info('count:' + fetchCount);
let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getLastObject();
if (fetchResult.isAfterLast()) {
console.info('photoAsset isAfterLast displayName = ', photoAsset.displayName);
} else {
console.info('photoAsset not isAfterLast.');
}
}
close
close(): void
释放FetchResult实例并使其失效,无法再调用其他方法。
原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
错误码:
以下错误码的详细介绍请参见文件管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 13900020 | Invalid argument. |
| 14000011 | System inner fail. |
示例:
phAccessHelper的创建请参考photoAccessHelper.getPhotoAccessHelper的示例使用。
import { dataSharePredicates } from '@kit.ArkData';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('fetchResultCloseDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOption: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
try {
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
fetchResult.close();
console.info('close succeed.');
} catch (err) {
console.error(`close fail. error: ${err.code}, ${err.message}`);
}
}
getFirstObject
getFirstObject(callback: AsyncCallback<T>): void
获取文件检索结果中的第一个文件资产。使用callback异步回调。
原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| callback | AsyncCallback<T> | 是 | 回调函数。当获取结果集中的第一个文件资产成功,err为undefined,data为具体检索结果;否则为错误对象。 |
错误码:
以下错误码的详细介绍请参见文件管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 13900020 | Invalid argument. |
| 14000011 | System inner fail. |
示例:
phAccessHelper的创建请参考photoAccessHelper.getPhotoAccessHelper的示例使用。
import { dataSharePredicates } from '@kit.ArkData';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('getFirstObjectDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOption: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
fetchResult.getFirstObject((err, photoAsset) => {
if (photoAsset !== undefined) {
console.info('photoAsset displayName: ', photoAsset.displayName);
} else {
console.error(`photoAsset failed with err:${err.code}, ${err.message}`);
}
});
}
getFirstObject
getFirstObject(): Promise<T>
获取文件检索结果中的第一个文件资产。使用Promise异步回调。
原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
返回值:
| 类型 | 说明 |
|---|---|
| Promise<T> | Promise对象,返回结果集中第一个对象。 |
错误码:
以下错误码的详细介绍请参见文件管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 13900020 | Invalid argument. |
| 14000011 | System inner fail. |
示例:
phAccessHelper的创建请参考photoAccessHelper.getPhotoAccessHelper的示例使用。
import { dataSharePredicates } from '@kit.ArkData';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('getFirstObjectDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOption: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
console.info('photoAsset displayName: ', photoAsset.displayName);
}
getNextObject
getNextObject(callback: AsyncCallback<T>): void
获取文件检索结果中的下一个文件资产。使用callback异步回调。
在调用此方法之前,必须使用isAfterLast()来检查当前位置是否为最后一行。
原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| callback | AsyncCallback<T> | 是 | 回调函数。当获取结果集中的下一个文件资产成功,err为undefined,data为具体检索结果;否则为错误对象。 |
错误码:
以下错误码的详细介绍请参见文件管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 13900020 | Invalid argument. |
| 14000011 | System inner fail. |
示例:
phAccessHelper的创建请参考photoAccessHelper.getPhotoAccessHelper的示例使用。
import { dataSharePredicates } from '@kit.ArkData';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('getNextObjectDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOption: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
await fetchResult.getFirstObject();
if (!fetchResult.isAfterLast()) {
fetchResult.getNextObject((err, photoAsset) => {
if (photoAsset !== undefined) {
console.info('photoAsset displayName: ', photoAsset.displayName);
} else {
console.error(`photoAsset failed with err: ${err.code}, ${err.message}`);
}
});
}
}
getNextObject
getNextObject(): Promise<T>
获取文件检索结果中的下一个文件资产。使用Promise异步回调。
在调用此方法之前,必须使用isAfterLast()来检查当前位置是否为最后一行。
原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
返回值:
| 类型 | 说明 |
|---|---|
| Promise<T> | Promise对象,返回结果集中下一个对象。 |
错误码:
以下错误码的详细介绍请参见文件管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 13900020 | Invalid argument. |
| 14000011 | System inner fail. |
示例:
phAccessHelper的创建请参考photoAccessHelper.getPhotoAccessHelper的示例使用。
import { dataSharePredicates } from '@kit.ArkData';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('getNextObjectDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOption: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
await fetchResult.getFirstObject();
if (!fetchResult.isAfterLast()) {
let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getNextObject();
console.info('photoAsset displayName: ', photoAsset.displayName);
}
}
getLastObject
getLastObject(callback: AsyncCallback<T>): void
获取文件检索结果中的最后一个文件资产。使用callback异步回调。
原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| callback | AsyncCallback<T> | 是 | 回调函数。当获取结果集中的最后一个文件资产成功,err为undefined,data为具体检索结果;否则为错误对象。 |
错误码:
以下错误码的详细介绍请参见文件管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 13900020 | Invalid argument. |
| 14000011 | System inner fail. |
示例:
phAccessHelper的创建请参考photoAccessHelper.getPhotoAccessHelper的示例使用。
import { dataSharePredicates } from '@kit.ArkData';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('getLastObjectDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOption: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
fetchResult.getLastObject((err, photoAsset) => {
if (photoAsset !== undefined) {
console.info('photoAsset displayName: ', photoAsset.displayName);
} else {
console.error(`photoAsset failed with err: ${err.code}, ${err.message}`);
}
});
}
getLastObject
getLastObject(): Promise<T>
获取文件检索结果中的最后一个文件资产。使用Promise异步回调。
原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
返回值:
| 类型 | 说明 |
|---|---|
| Promise<T> | Promise对象,返回结果集中的最后一个对象。 |
错误码:
以下错误码的详细介绍请参见文件管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 13900020 | Invalid argument. |
| 14000011 | System inner fail. |
示例:
phAccessHelper的创建请参考photoAccessHelper.getPhotoAccessHelper的示例使用。
import { dataSharePredicates } from '@kit.ArkData';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('getLastObjectDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOption: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getLastObject();
console.info('photoAsset displayName: ', photoAsset.displayName);
}
getObjectByPosition
getObjectByPosition(index: number, callback: AsyncCallback<T>): void
获取文件检索结果中具有指定索引的文件资产。使用callback异步回调。
原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| index | number | 是 | 要获取的文件的索引,从0开始。 |
| callback | AsyncCallback<T> | 是 | 回调函数。当获取结果集中指定索引的文件资产成功,err为undefined,data为具体检索结果;否则为错误对象。 |
错误码:
以下错误码的详细介绍请参见文件管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 13900020 | Invalid argument. |
| 14000011 | System inner fail. |
示例:
phAccessHelper的创建请参考photoAccessHelper.getPhotoAccessHelper的示例使用。
import { dataSharePredicates } from '@kit.ArkData';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('getObjectByPositionDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOption: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
fetchResult.getObjectByPosition(0, (err, photoAsset) => {
if (photoAsset !== undefined) {
console.info('photoAsset displayName: ', photoAsset.displayName);
} else {
console.error(`photoAsset failed with err: ${err.code}, ${err.message}`);
}
});
}
getObjectByPosition
getObjectByPosition(index: number): Promise<T>
获取文件检索结果中指定索引的文件资产。使用Promise异步回调。
原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| index | number | 是 | 要获取的文件的索引,从0开始。 |
返回值:
| 类型 | 说明 |
|---|---|
| Promise<T> | Promise对象,返回结果集中指定索引的一个对象。 |
错误码:
以下错误码的详细介绍请参见文件管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 13900020 | Invalid argument. |
| 14000011 | System inner fail. |
示例:
phAccessHelper的创建请参考photoAccessHelper.getPhotoAccessHelper的示例使用。
import { dataSharePredicates } from '@kit.ArkData';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('getObjectByPositionDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOption: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
if (fetchResult === undefined) {
console.error('fetchResult is undefined');
return;
}
let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getObjectByPosition(0);
console.info('photoAsset displayName: ', photoAsset.displayName);
}
getAllObjects
getAllObjects(callback: AsyncCallback<Array<T>>): void
获取文件检索结果中的所有文件资产。使用callback异步回调。
原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| callback | AsyncCallback<Array<T>> | 是 | 回调函数。当获取结果集中的所有文件资产成功,err为undefined,data为具体检索结果;否则为错误对象。 |
错误码:
以下错误码的详细介绍请参见文件管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 13900020 | Invalid argument. |
| 14000011 | System inner fail. |
示例:
phAccessHelper的创建请参考photoAccessHelper.getPhotoAccessHelper的示例使用。
import { dataSharePredicates } from '@kit.ArkData';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('getAllObjectDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOption: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
fetchResult.getAllObjects((err, photoAssetList) => {
if (photoAssetList !== undefined) {
console.info('photoAssetList length: ', photoAssetList.length);
} else {
console.error(`photoAssetList failed with err:${err.code}, ${err.message}`);
}
});
}
getAllObjects
getAllObjects(): Promise<Array<T>>
获取文件检索结果中的所有文件资产。使用Promise异步回调。
原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
返回值:
| 类型 | 说明 |
|---|---|
| Promise<Array<T>> | Promise对象,返回所有文件资产的数组。 |
错误码:
以下错误码的详细介绍请参见文件管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 13900020 | Invalid argument. |
| 14000011 | System inner fail. |
示例:
phAccessHelper的创建请参考photoAccessHelper.getPhotoAccessHelper的示例使用。
import { dataSharePredicates } from '@kit.ArkData';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('getAllObjectDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOption: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
let photoAssetList: Array<photoAccessHelper.PhotoAsset> = await fetchResult.getAllObjects();
console.info('photoAssetList length: ', photoAssetList.length);
}
contains23+
contains(object: T): Promise<boolean>
判断文件检索结果中是否包含指定的文件资产。使用Promise异步回调。
模型约束: 此接口仅可在Stage模型下使用。
原子化服务API: 从API version 23开始,该接口支持在原子化服务中使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| object | T | 是 | 指定的文件资产。 |
返回值:
| 类型 | 说明 |
|---|---|
| Promise<boolean> | Promise对象。返回true表示指定的文件资产在文件检索结果中;返回false表示指定的文件资产不在文件检索结果中。 |
示例:
phAccessHelper的创建请参考photoAccessHelper.getPhotoAccessHelper的示例使用。
import { dataSharePredicates } from '@kit.ArkData';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('fetchResultContainsDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOption: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
try {
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
let ret: boolean = await fetchResult.contains(asset);
console.info(`succeed. ${ret}`);
} catch (err) {
console.error(`fail. error: ${err.code}, ${err.message}`);
}
}
getObjectsByIndexSet23+
getObjectsByIndexSet(indexSet: number[]): Promise<T[]>
获取文件检索结果中指定索引集合对应的文件资产数组。使用Promise异步回调。
模型约束: 此接口仅可在Stage模型下使用。
原子化服务API: 从API version 23开始,该接口支持在原子化服务中使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| indexSet | number[] | 是 | 指定的索引集合。 |
返回值:
| 类型 | 说明 |
|---|---|
| Promise<T[]> | Promise对象,返回指定索引集合所对应的文件资产数组。 |
错误码:
以下错误码的详细介绍请参见媒体库错误码。
| 错误码ID | 错误信息 |
|---|---|
| 23800151 | The scenario parameter verification fails. Possible causes: 1.The indexSet is null,undefined or empty. 2.The indexSet length is bigger than 500. 3.The max value of indexSet is equal or bigger than the fetch result length. 4.The min value of indexSet is less than 0. |
示例:
phAccessHelper的创建请参考photoAccessHelper.getPhotoAccessHelper的示例使用。
import { dataSharePredicates } from '@kit.ArkData';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('fetchResultGetObjectsByIndexSetDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOption: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
try {
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
let indexSet: number[] = [0, 1];
let ret: photoAccessHelper.PhotoAsset[] = await fetchResult.getObjectsByIndexSet(indexSet);
console.info(`succeed. ${ret.length}`);
} catch (err) {
console.error(`fail. error: ${err.code}, ${err.message}`);
}
}
getIndex23+
getIndex(object: T): Promise<number>
获取指定文件资产在文件检索结果中的索引。使用Promise异步回调。
模型约束: 此接口仅可在Stage模型下使用。
原子化服务API: 从API version 23开始,该接口支持在原子化服务中使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| object | T | 是 | 指定的文件资产。 |
返回值:
| 类型 | 说明 |
|---|---|
| Promise<number> | Promise对象,返回查询结果。如果对象在文件检索结果中则返回对应的索引,不存在则返回-1。 |
示例:
phAccessHelper的创建请参考photoAccessHelper.getPhotoAccessHelper的示例使用。
import { dataSharePredicates } from '@kit.ArkData';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('fetchResultGetIndexDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOption: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
try {
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
let ret: number = await fetchResult.getIndex(asset);
console.info(`succeed. ${ret}`);
} catch (err) {
console.error(`fail. error: ${err.code}, ${err.message}`);
}
}
getRangeObjects23+
getRangeObjects(index: number, offset: number): Promise<T[]>
在文件检索结果中,从指定索引(第一个参数)开始,获取指定长度(第二个参数)的文件资产数组。使用Promise异步回调。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| index | number | 是 | 开始获取的文件资产索引,大于等于0,小于文件检索结果中对象数量。 |
| offset | number | 是 | 要获取的文件资产数量,大于0。 index和offset之和需要小于检索结果中的对象数量,否则抛出23800151错误码。 |
返回值:
| 类型 | 说明 |
|---|---|
| Promise<T[]> | 返回Promise异步回调数组。 |
错误码:
以下错误码的详细介绍请参见媒体库错误码。
| 错误码ID | 错误信息 |
|---|---|
| 23800151 | The scenario parameter verification fails. Possible causes: index or offset validity check failed. |
| 23800301 | Internal system error. You are advised to retry and check the logs. Possible causes: 1. The database is corrupted. 2. The file system is abnormal. |
示例:
phAccessHelper的创建请参考photoAccessHelper.getPhotoAccessHelper的示例使用。
import { dataSharePredicates } from '@kit.ArkData';
import { photoAccessHelper} from '@kit.MediaLibraryKit';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('getRangeObjectsDemo');
type PhotoAsset = photoAccessHelper.PhotoAsset;
let testNum: string = "getRangeObjects_test_003";
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOptions: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
let fetchResult1: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> =
await phAccessHelper.getAssets(fetchOptions);
let fetchResult2: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> =
await phAccessHelper.getAssets(fetchOptions);
let count: number = fetchResult1.getCount();
const half: number = Math.ceil(count / 2);
let promises: Promise<PhotoAsset[]>[] = [];
promises[0] = fetchResult1.getRangeObjects(0, half);
promises[1] = fetchResult2.getRangeObjects(half, count - half);
let photoAssetsArray: PhotoAsset[][] = await Promise.all(promises);
let photoAssets: PhotoAsset[] = photoAssetsArray[0].concat(photoAssetsArray[1]);
console.info('photoAssets length: ', photoAssets.length);
}
你可能感兴趣的鸿蒙文章
openharmony 鸿蒙 capi-mediaassetmanager-oh-mediaassetmanager
openharmony 鸿蒙 arkts-apis-photoAccessHelper-MediaAssetProgressHandler
openharmony 鸿蒙 arkts-apis-photoAccessHelper-AbsAlbum
openharmony 鸿蒙 arkts-apis-photoAccessHelper-PhotoAccessHelper
openharmony 鸿蒙 arkts-apis-photoAccessHelper-QuickImageDataHandler
openharmony 鸿蒙 capi-media-access-helper-capi-h
openharmony 鸿蒙 arkts-apis-photoAccessHelper-PhotoAsset
openharmony 鸿蒙 capi-mediaassetmanager-oh-movingphoto
openharmony 鸿蒙 capi-mediaassetmanager
openharmony 鸿蒙 capi-mediaassetmanager-medialibrary-requestid