在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

harmony-utils之PickerUtil,拍照、文件選擇和保存,工具類

童長老 ? 2025-06-27 16:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

harmony-utils之PickerUtil,拍照、文件選擇和保存,工具類

harmony-utils 簡介與說明


harmony-utils 一款功能豐富且極易上手的HarmonyOS工具庫,借助眾多實用工具類,致力于助力開發(fā)者迅速構建鴻蒙應用。其封裝的工具涵蓋了APP、設備、屏幕、授權、通知、線程間通信、彈框、吐司、生物認證、用戶首選項、拍照、相冊、掃碼、文件、日志、異常捕獲、字符、字符串、數(shù)字、集合、日期、隨機、base64、加密、解密、JSON等一系列的功能和作,能夠滿足各種不同的開發(fā)需求。
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方法與使用


camera 調用系統(tǒng)相機,拍照、錄視頻
PickerUtil.cameraEasy().then((uri) = > {
  let uriStr = `調用相機,返回uri:n${uri}`;
}).catch((err: BusinessError) = > {
  let str = `調用相機,異常:n${JSON.stringify(err)}`;
});
cameraEasy 調用系統(tǒng)相機,拍照、錄視頻
let options: CameraOptions = {
  mediaTypes: [cameraPicker.PickerMediaType.PHOTO],
  cameraPosition: camera.CameraPosition.CAMERA_POSITION_BACK
}
PickerUtil.camera(options).then((result) = > {
  let uriStr = `調用相機,返回uri:n${result.resultUri}`;
}).catch((err: BusinessError) = > {
  let str = `調用相機,異常:n${JSON.stringify(err)}`;
});
selectPhoto 通過選擇模式拉起photoPicker界面,用戶可以選擇一個或多個圖片/視頻
PickerUtil.selectPhoto().then((uris) = > {
  let uriStr = `調用相冊,返回uris:n${uris.join('n')}`;
}).catch((err: BusinessError) = > {
  let str = `調用相冊,異常:n${JSON.stringify(err)}`;
});
savePhoto 通過保存模式拉起photoPicker進行保存圖片或視頻資源的文件名,若無參數(shù),則默認需要用戶自行輸入
let imgName = `大漂亮_${DateUtil.getTodayTime()}.png`;
let imgName1 = `小漂亮_${DateUtil.getTodayTime()}.png`;
PickerUtil.savePhoto([imgName, imgName1]).then(async (uris) = > {
  let uri = uris[0];
  let uriStr = `調用保存圖片,返回uris:n${uri}`;
  let file = FileUtil.openSync(uri);
  FileUtil.copyFile(this.filePath, file.fd).then(() = > {
    let uriStr = `保存圖片,返回uris:n${uri}`;
    ToastUtil.showToast("圖片1保存成功");
  });

  let file1 = FileUtil.openSync(uris[1]);
  let pixelMap1 = await ImageUtil.getPixelMapFromMedia($r("app.media.test_as3"));
  let packOpts: image.PackingOption = { format: 'image/png', quality: 100 };
  ImageUtil.packToFileFromPixelMap(pixelMap1, file1.fd, packOpts).then(() = > {
    let uriStr = `保存圖片,返回uris:n${uris[1]}`;
    ToastUtil.showToast("圖片2保存成功");
  });
}).catch((err: BusinessError) = > {
  let uriStr = `調用保存圖片,異常:n${JSON.stringify(err)}`;
})
selectDocument 通過選擇模式拉起documentPicker界面,用戶可以選擇一個或多個文件
let options: picker.DocumentSelectOptions = {
  maxSelectNumber: 9, //選擇媒體文件數(shù)量的最大值,默認9。
  selectMode: picker.DocumentSelectMode.FILE, //支持選擇的資源類型,默認文件
  // fileSuffixFilters: ['圖片(.png, .jpg)|.png,.jpg', '文檔|.txt', '視頻|.mp4', '.pdf'], //選擇文件的后綴類型['后綴類型描述|后綴類型'](可選) 若選擇項存在多個后綴名,則每一個后綴名之間用英文逗號進行分隔(可選),后綴類型名不能超過100,選擇所有文件:'所有文件(*.*)|.*';
  // defaultFilePathUri: "file://docs/storage/Users/currentUser/Download/com.harmony.utils", //指定選擇的文件或者目錄路徑(可選)
  // authMode: true //選擇是否對指定文件或目錄授權,true為授權,當為true時,defaultFilePathUri為必選參數(shù)。
}
PickerUtil.selectDocument(options).then((uris) = > {
  let uriStr = `調用文件管理,返回uris:n${uris.join('n')}`
}).catch((err: BusinessError) = > {
  let uriStr = `調用文件管理,異常:n${JSON.stringify(err)}`
});
saveDocument 通過保存模式拉起documentPicker界面,用戶可以保存一個或多個文件
let fileName = `test_easy_${DateUtil.getTodayTime()}.txt`;
PickerUtil.saveDocumentEasy([fileName]).then((paths) = > {
  let path = paths[0];
  this.cacheUri = FileUtil.getUriFromPath(path);
  PreferencesUtil.put("picker_cache_uri", this.cacheUri);
  let txtStr = `“harmony-utils 一款高效的OpenHarmony/HarmonyOS工具包,封裝了常用工具類,提供一系列簡單易用的方法。幫助開發(fā)者快速構建鴻蒙應用。nn`;
  FileUtil.writeEasy(path, txtStr).then(() = > {
    let uriStr = `文件保存成功,返回uris:n${path}`;
    ToastUtil.showToast("文件保存成功!");
  }).catch((err: BusinessError) = > {
    let uriStr = `文件保存,異常:n${JSON.stringify(err)}`;
  })
}).catch((err: BusinessError) = > {
  let uriStr = `調用保存文件,異常:n${JSON.stringify(err)}`;
})
selectAudio 通過選擇模式拉起audioPicker界面,用戶可以選擇一個或多個音頻文件
PickerUtil.selectAudio().then((uris) = > {
  let uriStr = `調用文件管理,返回uris:n${uris.join('n')}`;
}).catch((err: BusinessError) = > {
  let uriStr = `調用文件管理,異常:n${JSON.stringify(err)}`;
});
saveAudio 通過保存模式拉起audioPicker界面,用戶可以保存一個或多個音頻文件
let fileName = `AudioViewPicker001.mp3`;
PickerUtil.saveAudio([fileName]).then((uris) = > {
  let uri = uris[0];
  let uriStr = `音頻文件,返回uris:n${uri}`;
}).catch((err: BusinessError) = > {
  let uriStr = `調用保存文件,異常:n${JSON.stringify(err)}`;
})

創(chuàng)作不易,請給童長老點贊

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

    關注

    2

    文章

    1567

    瀏覽量

    63719
  • HarmonyOS
    +關注

    關注

    80

    文章

    2146

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    HarmonyOS入門指南

    上手的HarmonyOS工具庫,借助眾多實用工具,致力于助力開發(fā)者迅速構建鴻蒙應用。 2、開源框架 harmony-utils 一款功能豐富且極易上手的HarmonyOS
    的頭像 發(fā)表于 06-27 00:11 ?13次閱讀

    harmony-utilsAuthUtil,生物認證相關工具

    # harmony-utilsAuthUtil,生物認證相關工具 ## harmony-utils 簡介與說明 ------[
    的頭像 發(fā)表于 06-26 17:43 ?65次閱讀

    harmony-utilsAssetUtil,關鍵資產(chǎn)存儲服務工具

    harmony-utilsAssetUtil,關鍵資產(chǎn)存儲服務工具
    的頭像 發(fā)表于 06-26 17:42 ?66次閱讀

    harmony-utilsArrayUtil,集合工具

    # harmony-utilsArrayUtil,集合工具 ## harmony-utils 簡介與說明 ------[
    的頭像 發(fā)表于 06-26 17:38 ?64次閱讀

    harmony-utilsAppUtil,APP相關工具

    harmony-utils一款功能豐富且極易上手的HarmonyOS工具庫,借助眾多實用工具,致力于助力開發(fā)者迅速構建鴻蒙應用。
    的頭像 發(fā)表于 06-26 09:24 ?79次閱讀
    <b class='flag-5'>harmony-utils</b><b class='flag-5'>之</b>AppUtil,APP相關<b class='flag-5'>工具</b><b class='flag-5'>類</b>

    如何使用第三方庫中的picker_utils (API12) PickerUtil

    1. 安裝依賴 ohpm i @pura /picker_utils 2.在使用的頁面導入模塊 import { CameraOptions, PickerUtil } from '@pura
    的頭像 發(fā)表于 06-24 17:32 ?92次閱讀

    如何使用第三方庫中的@pura/harmony-utils(V1.3.3)申請授權工具

    5.申請授權(可組合申請)接上文 let p: Permissions[] = [ 'ohos.permission.ACTIVITY_MOTION' , 'ohos.permission.CAMERA' , 'ohos.permission.LOCATION' , 'ohos.permission.APPROXIMATELY_LOCATION' ];PermissionUtil.requestPermissions(p).then((grant) = > { if (grant) { ToastUtil.showToast( `申請授權,已通過...` ); }}) 如果第一次申請用戶沒有同意,可二次申請 PermissionUtil .requestPermissionOnSettingEasy (p) .then ((result) = > { ToastUtil .showToast ( `申請授權,結果:${result}` );}); 6.申請授權,拒絕后可二次申請 let p: Permissions[] = [ 'ohos
    的頭像 發(fā)表于 06-24 17:32 ?139次閱讀

    如何使用第三方庫中的@pura/harmony-utils(V1.3.3)申請授權工具

    1. 安裝依賴 ohpm install @pura/harmony-utils 在oh-package.json5中看到以下代碼即表示安裝成功 2. 配置權限 在 module.json5 文件
    的頭像 發(fā)表于 06-24 17:31 ?137次閱讀
    如何使用第三方庫中的@pura/<b class='flag-5'>harmony-utils</b>(V1.3.3)申請授權<b class='flag-5'>工具</b><b class='flag-5'>類</b>一

    芯片開發(fā)必備工具|好用的文件比對工具有哪些?

    在芯片開發(fā)工程中,通常為了知道工程目錄下發(fā)生了哪些改動,或者兩份源碼文件之間有什么不同,會需要用到文件文件夾的比對工具。使用工具比肉眼觀察
    的頭像 發(fā)表于 11-01 08:11 ?1124次閱讀
    芯片開發(fā)必備<b class='flag-5'>工具</b>|好用的<b class='flag-5'>文件</b>比對<b class='flag-5'>工具</b>有哪些?

    芯片開發(fā)必備工具——好用的文件比對工具有哪些?

    芯片開發(fā)必備工具——好用的文件比對工具有哪些?
    的頭像 發(fā)表于 11-01 08:11 ?627次閱讀
    芯片開發(fā)必備<b class='flag-5'>工具</b>——好用的<b class='flag-5'>文件</b>比對<b class='flag-5'>工具</b>有哪些?

    labview選擇結構和讀寫保存文件

    有一個選擇結構有4個分支,其中一個分支為添加,想要在這個分支結構中向多列表表框中添加內(nèi)容(已實現(xiàn))并將這些內(nèi)容輸出為txt文件然后與原本的txt文件內(nèi)容進行比較,如何在這一個分支自動完成,只需要點一下添加按鈕,目前遇到的困難是要
    發(fā)表于 10-22 14:50

    OMAP-L138_Flash And Boot Utils使用及編譯指導

    電子發(fā)燒友網(wǎng)站提供《OMAP-L138_Flash And Boot Utils使用及編譯指導.pdf》資料免費下載
    發(fā)表于 09-05 11:26 ?0次下載
    OMAP-L138_Flash And Boot <b class='flag-5'>Utils</b>使用及編譯指導

    基于OpenHarmony標準系統(tǒng)的C++公共基礎庫案例:SafeStack

    /a28_utils_safestack 2、基礎知識 C++公共基礎庫為標準系統(tǒng)提供了一些常用的C++開發(fā)工具,包括: 文件、路徑、字
    發(fā)表于 08-21 14:51

    基于OpenHarmony標準系統(tǒng)的C++公共基礎庫案例:SafeQueue

    /a27_utils_safequeue 2、基礎知識 C++公共基礎庫為標準系統(tǒng)提供了一些常用的C++開發(fā)工具,包括: 文件、路徑、字
    發(fā)表于 08-21 10:56

    基于OpenHarmony標準系統(tǒng)的C++公共基礎庫案例:ThreadPoll

    個線程。每個線程每秒打印1段字符串,10秒后停止。 2、基礎知識 C++公共基礎庫為標準系統(tǒng)提供了一些常用的C++開發(fā)工具,包括: 文件、路徑、字符串相關操作的能力增強接口 讀寫鎖
    發(fā)表于 08-12 11:42
    主站蜘蛛池模板: 国产黄色小视频在线观看 | 国产亚洲第一伦理第一区 | 色女人网 | 亚洲精品成人久久久影院 | 在线看片成人 | 91精品国产91久久久久久青草 | 亚洲一区精品中文字幕 | 精品亚洲综合在线第一区 | 六月婷婷综合 | xx视频在线 | 天天摸日日添狠狠添婷婷 | 夜夜夜爽 | 他也色在线 | tom影院亚洲国产一区二区 | 婷婷开心激情网 | 国产美女久久久久 | 中国特级毛片 | 午夜影视啪啪免费体验区入口 | 色婷婷综合在线视频最新 | 4438x成人网全国最大 | 亚洲都市激情 | 欧美线人一区二区三区 | 欧美黑人5o厘米全进去 | 色视频网址 | 天堂bt在线| 成年人视频黄色 | 国产一区二区三区波多野吉衣 | 五月婷婷激情视频 | 亚洲一区二区三区高清视频 | 性感美女毛片 | 1314酒色网| 两性毛片| 在线观看黄色网 | 福利精品 | 99久久成人国产精品免费 | 人人干人人玩 | 奇米影色777四色在线首页 | 国产一区二卡三区四区 | 国内一区二区三区精品视频 | 4338×亚洲全国最大色成网站 | 免费看欧美一级特黄a大片一 |