99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

harmony-utils之PreviewUtil,文件預(yù)覽工具類(lèi)

童長(zhǎng)老 ? 來(lái)源:jf_14594073 ? 作者:jf_14594073 ? 2025-07-03 11:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

harmony-utils之PreviewUtil,文件預(yù)覽工具類(lèi)

harmony-utils 簡(jiǎn)介與說(shuō)明


[harmony-utils] 一款功能豐富且極易上手的HarmonyOS工具庫(kù),借助眾多實(shí)用工具類(lèi),致力于助力開(kāi)發(fā)者迅速構(gòu)建鴻蒙應(yīng)用。其封裝的工具涵蓋了APP、設(shè)備、屏幕、授權(quán)、通知、線(xiàn)程間通信、彈框、吐司、生物認(rèn)證、用戶(hù)首選項(xiàng)、拍照、相冊(cè)、掃碼、文件、日志、異常捕獲、字符、字符串、數(shù)字、集合、日期、隨機(jī)、base64、加密、解密、JSON等一系列的功能和作,能夠滿(mǎn)足各種不同的開(kāi)發(fā)需求。
[picker_utils] 是harmony-utils拆分出來(lái)的一個(gè)子庫(kù),包含 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 根據(jù)文件uri構(gòu)建PreviewInfo
let docPath = FileUtil.getFilesDirPath("download/wps/doc', "測(cè)試DOC文件.doc");
 FileUtil.writeEasy(docPath, "harmony-utils 一款高效的OpenHarmony/HarmonyOS工具包。幫助開(kāi)發(fā)者快速構(gòu)建鴻蒙應(yīng)用。");
 let uri = FileUtil.getUriFromPath(docPath);
 let info = PreviewUtil.generatePreviewInfo(uri);
 let infoStr = JSON.stringify(info, null, 2);
 LogUtil.error(infoStr);
openPreview 通過(guò)傳入文件預(yù)覽信息,打開(kāi)預(yù)覽窗口。1秒內(nèi)重復(fù)調(diào)用無(wú)效
let docPath = FileUtil.getFilesDirPath("download/wps/doc', "測(cè)試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 通過(guò)傳入文件的uri,打開(kāi)預(yù)覽窗口。1秒內(nèi)重復(fù)調(diào)用無(wú)效
let docPath = FileUtil.getFilesDirPath("download/wps/doc', "測(cè)試DOC文件.doc");
 let uri = FileUtil.getUriFromPath(docPath);
 PreviewUtil.openPreviewEasy(uri);
canPreview 根據(jù)文件的uri判斷文件是否可預(yù)覽
let docPath = FileUtil.getFilesDirPath("download/wps/doc', "測(cè)試DOC文件.doc");
 let uri = FileUtil.getUriFromPath(docPath);
 let canPreview = await PreviewUtil.canPreview(uri);
 ToastUtil.showToast(`canPreview: ${canPreview}`);
hasDisplayed 判斷預(yù)覽窗口是否已經(jīng)存在
let hasDisplayed = await PreviewUtil.hasDisplayed();
 ToastUtil.showToast(`hasDisplayed: ${hasDisplayed}`);
closePreview 關(guān)閉預(yù)覽窗口,僅當(dāng)預(yù)覽窗口存在時(shí)起效
PreviewUtil.closePreview().then(() = > {
  ToastUtil.showToast("已關(guān)閉預(yù)覽");
});
loadData 加載預(yù)覽文件信息。僅當(dāng)預(yù)覽窗口存在時(shí)起效
let docPath = FileUtil.getFilesDirPath("download/wps/doc', "測(cè)試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 加載預(yù)覽文件信息。僅當(dāng)預(yù)覽窗口存在時(shí)起效
let docPath = FileUtil.getFilesDirPath("download/wps/doc', "測(cè)試DOC文件.doc");
let uri = FileUtil.getUriFromPath(docPath);
let hasDisplayed = await PreviewUtil.hasDisplayed();
if (hasDisplayed) {
  PreviewUtil.loadDataEasy(uri);
} else {
  PreviewUtil.openPreviewEasy(uri);
}
onSharePreview 調(diào)用其他應(yīng)用預(yù)覽文件
let docPath = FileUtil.getFilesDirPath("download/wps/doc', "測(cè)試DOC文件.doc");
let uri = FileUtil.getUriFromPath(docPath);
PreviewUtil.onSharePreview(uri).catch((error: BusinessError) = > {
  ToastUtil.showToast("打開(kāi)文件失敗," + error.message);
  LogUtil.error(`onSharePreview-異常 ~ code: ${error.code} -·- message: ${error.message}`);
});
getTypeDescriptor 根據(jù)文件后綴名獲取TypeDescriptor(標(biāo)準(zhǔn)化數(shù)據(jù)類(lèi)型的描述類(lèi))
let typeDescriptor = PreviewUtil.getTypeDescriptor("png");
ToastUtil.showToast(`${typeDescriptor.mimeTypes}`);
getMimeType 根據(jù)文件后綴名獲取文件mimeType
let mimeType = PreviewUtil.getMimeType("png");
let mimeType2 = PreviewUtil.getMimeType("txt");
ToastUtil.showToast(`${mimeType} --- ${mimeType2}`);
getIconFileStr 根據(jù)文件后綴名獲取對(duì)應(yīng)文件類(lèi)型的圖標(biāo)
let iconFileStr = PreviewUtil.getIconFileStr("doc");
let iconRes: Resource = $r(iconFileStr);
canIUsePreview 判斷當(dāng)前設(shè)備是否支持文件預(yù)覽能力
let bl = PreviewUtil.canIUsePreview();
 ToastUtil.showToast(`當(dāng)前設(shè)備是否支持文件預(yù)覽能力:${bl}`);

創(chuàng)作不易,請(qǐng)給童長(zhǎng)老點(diǎn)贊

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Harmony
    +關(guān)注

    關(guān)注

    0

    文章

    108

    瀏覽量

    3024
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    harmony-utilsArrayUtil,集合工具類(lèi)

    # harmony-utilsArrayUtil,集合工具類(lèi) ## harmony-utils 簡(jiǎn)介與說(shuō)明 ------[
    的頭像 發(fā)表于 06-26 17:38 ?109次閱讀

    harmony-utilsAuthUtil,生物認(rèn)證相關(guān)工具類(lèi)

    # harmony-utilsAuthUtil,生物認(rèn)證相關(guān)工具類(lèi) ## harmony-utils 簡(jiǎn)介與說(shuō)明 ------[
    的頭像 發(fā)表于 06-26 17:43 ?114次閱讀

    harmony-utilsCacheUtil,緩存工具類(lèi)

    harmony-utilsCacheUtil,緩存工具類(lèi)
    的頭像 發(fā)表于 07-04 16:36 ?126次閱讀

    harmony-utilsCharUtil,字符工具類(lèi)

    harmony-utilsCharUtil,字符工具類(lèi)
    的頭像 發(fā)表于 07-04 16:34 ?129次閱讀

    harmony-utilsCrashUtil,異常相關(guān)工具類(lèi)

    harmony-utilsCrashUtil,異常相關(guān)工具類(lèi)
    的頭像 發(fā)表于 07-04 16:33 ?127次閱讀

    harmony-utilsDateUtil,日期工具類(lèi)

    harmony-utilsDateUtil,日期工具類(lèi)
    的頭像 發(fā)表于 06-25 22:15 ?62次閱讀

    harmony-utilsDeviceUtil,設(shè)備相關(guān)工具類(lèi)

    harmony-utilsDeviceUtil,設(shè)備相關(guān)工具類(lèi)
    的頭像 發(fā)表于 07-03 18:27 ?164次閱讀

    harmony-utilsDisplayUtil,屏幕相關(guān)工具類(lèi)

    harmony-utilsDisplayUtil,屏幕相關(guān)工具類(lèi)
    的頭像 發(fā)表于 07-03 18:26 ?142次閱讀

    harmony-utilsEmitterUtil,Emitter工具類(lèi)

    harmony-utilsEmitterUtil,Emitter工具類(lèi)
    的頭像 發(fā)表于 07-03 18:24 ?144次閱讀

    harmony-utilsFileUtil,文件相關(guān)工具類(lèi)

    harmony-utilsFileUtil,文件相關(guān)工具類(lèi)
    的頭像 發(fā)表于 07-03 18:23 ?140次閱讀

    harmony-utilsFormatUtil,格式化工具類(lèi)

    harmony-utilsFormatUtil,格式化工具類(lèi)
    的頭像 發(fā)表于 07-03 18:22 ?144次閱讀

    harmony-utilsImageUtil,圖片相關(guān)工具類(lèi)

    harmony-utilsImageUtil,圖片相關(guān)工具類(lèi)
    的頭像 發(fā)表于 07-03 18:22 ?175次閱讀

    harmony-utilsNumberUtil,Number工具類(lèi)

    harmony-utilsNumberUtil,Number工具類(lèi) harmony-utils 簡(jiǎn)介與說(shuō)明
    的頭像 發(fā)表于 07-03 18:08 ?146次閱讀

    harmony-utilsStrUtil,字符串工具類(lèi)

    harmony-utilsStrUtil,字符串工具類(lèi) harmony-utils 簡(jiǎn)介與說(shuō)明 [ha
    的頭像 發(fā)表于 07-03 11:32 ?103次閱讀

    harmony-utilsTypeUtil,類(lèi)型檢查工具類(lèi)

    harmony-utilsTypeUtil,類(lèi)型檢查工具類(lèi) harmony-utils 簡(jiǎn)介與說(shuō)明 [
    的頭像 發(fā)表于 06-30 17:35 ?115次閱讀