harmony-utils之PreviewUtil,文件預覽工具類
harmony-utils 簡介與說明
[harmony-utils] 一款功能豐富且極易上手的HarmonyOS工具庫,借助眾多實用工具類,致力于助力開發者迅速構建鴻蒙應用。其封裝的工具涵蓋了APP、設備、屏幕、授權、通知、線程間通信、彈框、吐司、生物認證、用戶首選項、拍照、相冊、掃碼、文件、日志、異常捕獲、字符、字符串、數字、集合、日期、隨機、base64、加密、解密、JSON等一系列的功能和作,能夠滿足各種不同的開發需求。
[picker_utils] 是harmony-utils拆分出來的一個子庫,包含 PickerUtil、PhotoHelper、ScanUtil。
下載安裝ohpm i @pura/harmony-utils
ohpm i @pura/picker_utils
//全局初始化方法,在UIAbility的onCreate方法中初始化 AppUtil.init()
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
AppUtil.init(this.context);
}
API方法與使用
generatePreviewInfo 根據文件uri構建PreviewInfo
let docPath = FileUtil.getFilesDirPath("download/wps/doc', "測試DOC文件.doc");
FileUtil.writeEasy(docPath, "harmony-utils 一款高效的OpenHarmony/HarmonyOS工具包。幫助開發者快速構建鴻蒙應用。");
let uri = FileUtil.getUriFromPath(docPath);
let info = PreviewUtil.generatePreviewInfo(uri);
let infoStr = JSON.stringify(info, null, 2);
LogUtil.error(infoStr);
openPreview 通過傳入文件預覽信息,打開預覽窗口。1秒內重復調用無效
let docPath = FileUtil.getFilesDirPath("download/wps/doc', "測試DOC文件.doc");
let uri = FileUtil.getUriFromPath(docPath);
let info = PreviewUtil.generatePreviewInfo(uri);
PreviewUtil.openPreview(info).catch((error: BusinessError) = > {
LogUtil.error(`onSharePreview-異常 ~ code: ${error.code} -·- message: ${error.message}`);
});
openPreviewEasy 通過傳入文件的uri,打開預覽窗口。1秒內重復調用無效
let docPath = FileUtil.getFilesDirPath("download/wps/doc', "測試DOC文件.doc");
let uri = FileUtil.getUriFromPath(docPath);
PreviewUtil.openPreviewEasy(uri);
canPreview 根據文件的uri判斷文件是否可預覽
let docPath = FileUtil.getFilesDirPath("download/wps/doc', "測試DOC文件.doc");
let uri = FileUtil.getUriFromPath(docPath);
let canPreview = await PreviewUtil.canPreview(uri);
ToastUtil.showToast(`canPreview: ${canPreview}`);
hasDisplayed 判斷預覽窗口是否已經存在
let hasDisplayed = await PreviewUtil.hasDisplayed();
ToastUtil.showToast(`hasDisplayed: ${hasDisplayed}`);
closePreview 關閉預覽窗口,僅當預覽窗口存在時起效
PreviewUtil.closePreview().then(() = > {
ToastUtil.showToast("已關閉預覽");
});
loadData 加載預覽文件信息。僅當預覽窗口存在時起效
let docPath = FileUtil.getFilesDirPath("download/wps/doc', "測試DOC文件.doc");
let uri = FileUtil.getUriFromPath(docPath);
let info = PreviewUtil.generatePreviewInfo(uri);
let hasDisplayed = await PreviewUtil.hasDisplayed();
if (hasDisplayed) {
PreviewUtil.loadData(info);
} else {
PreviewUtil.openPreview(info);
}
loadDataEasy 加載預覽文件信息。僅當預覽窗口存在時起效
let docPath = FileUtil.getFilesDirPath("download/wps/doc', "測試DOC文件.doc");
let uri = FileUtil.getUriFromPath(docPath);
let hasDisplayed = await PreviewUtil.hasDisplayed();
if (hasDisplayed) {
PreviewUtil.loadDataEasy(uri);
} else {
PreviewUtil.openPreviewEasy(uri);
}
onSharePreview 調用其他應用預覽文件
let docPath = FileUtil.getFilesDirPath("download/wps/doc', "測試DOC文件.doc");
let uri = FileUtil.getUriFromPath(docPath);
PreviewUtil.onSharePreview(uri).catch((error: BusinessError) = > {
ToastUtil.showToast("打開文件失敗," + error.message);
LogUtil.error(`onSharePreview-異常 ~ code: ${error.code} -·- message: ${error.message}`);
});
getTypeDescriptor 根據文件后綴名獲取TypeDescriptor(標準化數據類型的描述類)
let typeDescriptor = PreviewUtil.getTypeDescriptor("png");
ToastUtil.showToast(`${typeDescriptor.mimeTypes}`);
getMimeType 根據文件后綴名獲取文件mimeType
let mimeType = PreviewUtil.getMimeType("png");
let mimeType2 = PreviewUtil.getMimeType("txt");
ToastUtil.showToast(`${mimeType} --- ${mimeType2}`);
getIconFileStr 根據文件后綴名獲取對應文件類型的圖標
let iconFileStr = PreviewUtil.getIconFileStr("doc");
let iconRes: Resource = $r(iconFileStr);
canIUsePreview 判斷當前設備是否支持文件預覽能力
let bl = PreviewUtil.canIUsePreview();
ToastUtil.showToast(`當前設備是否支持文件預覽能力:${bl}`);
創作不易,請給童長老點贊
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
Harmony
+關注
關注
0文章
104瀏覽量
2989
發布評論請先 登錄
相關推薦
熱點推薦
harmony-utils之ArrayUtil,集合工具類
# harmony-utils之ArrayUtil,集合工具類 ## harmony-utils 簡介與說明 ------[
harmony-utils之AuthUtil,生物認證相關工具類
# harmony-utils之AuthUtil,生物認證相關工具類 ## harmony-utils 簡介與說明 ------[
harmony-utils之NumberUtil,Number工具類
harmony-utils之NumberUtil,Number工具類 harmony-utils 簡介與說明
harmony-utils之StrUtil,字符串工具類
harmony-utils之StrUtil,字符串工具類 harmony-utils 簡介與說明 [ha
harmony-utils之TypeUtil,類型檢查工具類
harmony-utils之TypeUtil,類型檢查工具類 harmony-utils 簡介與說明 [
評論