chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

鴻蒙系統(tǒng)訪問(wèn)系統(tǒng)相冊(cè)方法

OpenHarmony技術(shù)社區(qū) ? 來(lái)源:鴻蒙技術(shù)社區(qū) ? 作者:拓維云創(chuàng)易乘民 ? 2021-08-26 17:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前幾天有朋友問(wèn)我如何通過(guò) AVStorage 來(lái)獲取鴻蒙系統(tǒng)相冊(cè)的圖片,這個(gè)操作在我們平時(shí)開發(fā)時(shí)也經(jīng)常用到,今天就分享一下鴻蒙系統(tǒng)訪問(wèn)系統(tǒng)相冊(cè)的方法。

鴻蒙的 AVStorage 對(duì)應(yīng)的是 Android 中的 MediaStore,都是用于操作系統(tǒng)媒體數(shù)據(jù)庫(kù)的類。

但是現(xiàn)在開放的功能不如 MediaStore 強(qiáng)大,很多操作需要用的字段還找不到。

這里我先通過(guò)一段安卓程序往系統(tǒng)相冊(cè)目錄中寫入三張圖片,并插入媒體數(shù)據(jù)庫(kù):

//將文件保存到公共的媒體文件夾//這里的filename單純的指文件名,不包含路徑@RequiresApi(Build.VERSION_CODES.Q)fun saveImage(fileName: String, bitmap: Bitmap) {

try {

//設(shè)置保存參數(shù)到ContentValues中

val contentValues = ContentValues()

//設(shè)置文件名

contentValues.put(MediaStore.Images.Media.DISPLAY_NAME, fileName)

//android Q中不再使用DATA字段,而用RELATIVE_PATH代替

//RELATIVE_PATH是相對(duì)路徑不是絕對(duì)路徑

//DCIM是系統(tǒng)文件夾,關(guān)于系統(tǒng)文件夾可以到系統(tǒng)自帶的文件管理器中查看,不可以寫沒(méi)存在的名字

contentValues.put(MediaStore.Images.Media.RELATIVE_PATH, “DCIM/”);

//設(shè)置文件類型

contentValues.put(MediaStore.Images.Media.MIME_TYPE, “image/JPEG”)

//執(zhí)行insert操作,向系統(tǒng)文件夾中添加文件

//EXTERNAL_CONTENT_URI代表外部存儲(chǔ)器,該值不變

val uri = contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues)

if (uri != null) {

//若生成了uri,則表示該文件添加成功

//使用流將內(nèi)容寫入該uri中即可

val outputStream: OutputStream? = contentResolver.openOutputStream(uri)

if (outputStream != null) {

bitmap.compress(Bitmap.CompressFormat.JPEG, 90, outputStream)

outputStream.flush()

outputStream.close()

}

}

} catch (e: Exception) {

e.printStackTrace()

}

}

val bitmap = resources.getDrawable(R.mipmap.ic_launcher, null).toBitmap()

saveImage(“test”, bitmap)

這里我是放在點(diǎn)擊事件回調(diào)中,點(diǎn)擊三次,插入了三張同樣的圖片,該方法會(huì)自動(dòng)給重復(fù)的圖片重命名。

通過(guò) AS 的文件管理器和系統(tǒng)的圖庫(kù)我們可以看到已經(jīng)寫入成功了,接下來(lái)再用系統(tǒng)相機(jī)拍兩張照片,以創(chuàng)建不同來(lái)源的媒體圖片,同樣可在文件管理器和圖庫(kù)中查看結(jié)果。

這樣,數(shù)據(jù)就做好了,接下來(lái),我們通過(guò)鴻蒙提供的 API 來(lái)獲取系統(tǒng)相冊(cè)的圖片并顯示出來(lái)。

首先,讀取系統(tǒng)相冊(cè)需要獲取 ohos.permission.READ_USER_STORAGE 權(quán)限,我們需要在 config.json 中加入如下代碼:

“reqPermissions”: [{“name”: “ohos.permission.READ_USER_STORAGE”}]

并且,該權(quán)限需要?jiǎng)討B(tài)申請(qǐng),我們需要在 ability 中手動(dòng)申請(qǐng)權(quán)限:

String[] permissions = {“ohos.permission.READ_USER_STORAGE”};

requestPermissionsFromUser(permissions, 0);

獲取到權(quán)限之后,我們就可以通過(guò) DataAbilityHelper 和 AVStorage 來(lái)查詢媒體數(shù)據(jù)庫(kù)了。

獲取媒體外部存儲(chǔ)中的圖片 URI 需要使用的預(yù)定義字段是:AVStorage.Images.Media.EXTERNAL_DATA_ABILITY_URI:

private void showImage() {

DataAbilityHelper helper = DataAbilityHelper.creator(this);

try {

// columns為null,查詢記錄所有字段,當(dāng)前例子表示查詢id字段

ResultSet resultSet = helper.query(AVStorage.Images.Media.EXTERNAL_DATA_ABILITY_URI, new String[]{AVStorage.Images.Media.ID}, null);

while (resultSet != null && resultSet.goToNextRow()) {

PixelMap pixelMap = null;

ImageSource imageSource = null;

Image image = new Image(this);

image.setWidth(250);

image.setHeight(250);

image.setMarginsLeftAndRight(10, 10);

image.setMarginsTopAndBottom(10, 10);

image.setScaleMode(Image.ScaleMode.CLIP_CENTER);

// 獲取id字段的值

int id = resultSet.getInt(resultSet.getColumnIndexForName(AVStorage.Images.Media.ID));

Uri uri = Uri.appendEncodedPathToUri(AVStorage.Images.Media.EXTERNAL_DATA_ABILITY_URI, String.valueOf(id));

FileDescriptor fd = helper.openFile(uri, “r”);

try {

imageSource = ImageSource.create(fd, null);

pixelMap = imageSource.createPixelmap(null);

} catch (Exception e) {

e.printStackTrace();

} finally {

if (imageSource != null) {

imageSource.release();

}

}

image.setPixelMap(pixelMap);

tableLayout.addComponent(image);

}

} catch (DataAbilityRemoteException | FileNotFoundException e) {

e.printStackTrace();

}

}

我們通過(guò)一個(gè) TableLayout 來(lái)模仿圖庫(kù)界面展示獲取到的系統(tǒng)相冊(cè)圖片:

tableLayout = (TableLayout) findComponentById(ResourceTable.Id_table);

tableLayout.setColumnCount(4);

showImage();

至此,我們就獲取到了系統(tǒng)相冊(cè)目錄下的圖片。責(zé)任編輯:haq

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

    關(guān)注

    216

    文章

    35573

    瀏覽量

    259285
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7258

    瀏覽量

    127879
  • 鴻蒙系統(tǒng)
    +關(guān)注

    關(guān)注

    183

    文章

    2642

    瀏覽量

    68989
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2141

    瀏覽量

    34960

原文標(biāo)題:如何獲取鴻蒙系統(tǒng)相冊(cè)圖片?

文章出處:【微信號(hào):gh_834c4b3d87fe,微信公眾號(hào):OpenHarmony技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    HarmonyOS實(shí)戰(zhàn):一招搞定保存圖片到相冊(cè)

    保存圖片功能幾乎是每個(gè)應(yīng)用程序必備的功能之一,當(dāng)用戶遇到喜歡的圖片時(shí)可以保存到手機(jī)相冊(cè)。那么在鴻蒙中保存圖片是否也需要申請(qǐng)用戶存儲(chǔ)權(quán)限以及如何將圖片保存到相冊(cè),本文將詳細(xì)講述怎么保存網(wǎng)絡(luò)圖片,指定布局生成圖片保存至
    的頭像 發(fā)表于 06-24 17:04 ?745次閱讀

    國(guó)產(chǎn)操作系統(tǒng)加速崛起——鴻蒙電腦補(bǔ)齊鴻蒙生態(tài)最重要拼圖

    國(guó)產(chǎn)操作系統(tǒng)加速崛起——鴻蒙電腦補(bǔ)齊鴻蒙生態(tài)最重要拼圖 5月19日,首次應(yīng)用鴻蒙操作系統(tǒng)的個(gè)人電腦(PC)在四川成都正式發(fā)布。這標(biāo)志著我國(guó)擁
    的頭像 發(fā)表于 05-21 11:41 ?378次閱讀

    鴻蒙操作系統(tǒng)首登電腦端,華為開啟鴻蒙辦公新時(shí)代

    2025年5月8日,華為在深圳舉辦了鴻蒙電腦技術(shù)與生態(tài)溝通會(huì),鴻蒙操作系統(tǒng)首次在電腦端亮相。這既是中國(guó)電子信息產(chǎn)業(yè)的歷史性時(shí)刻,也是華為鴻蒙辦公的新起點(diǎn)。 五年匠心打磨,
    發(fā)表于 05-08 14:20 ?5256次閱讀
    <b class='flag-5'>鴻蒙</b>操作<b class='flag-5'>系統(tǒng)</b>首登電腦端,華為開啟<b class='flag-5'>鴻蒙</b>辦公新時(shí)代

    “RdbStore”上線開源鴻蒙社區(qū) 助力鴻蒙應(yīng)用數(shù)據(jù)訪問(wèn)效率大幅提升

    、品質(zhì)調(diào)優(yōu)、全鏈路運(yùn)維等,能夠有效提升應(yīng)用啟動(dòng)和訪問(wèn)速度,助力應(yīng)用高效開發(fā)和性能提升。 性能強(qiáng)大:數(shù)據(jù)訪問(wèn)和初始化耗時(shí)大幅優(yōu)化 在應(yīng)用開發(fā)過(guò)程中,數(shù)據(jù)訪問(wèn)的效率直接影響應(yīng)用的啟動(dòng)和訪問(wèn)
    的頭像 發(fā)表于 03-18 15:02 ?466次閱讀

    【貝啟科技BQ3568HM開源鴻蒙開發(fā)板深度試用報(bào)告】系統(tǒng)鏡像編譯和燒錄

    從貝啟開源社區(qū): BQ3568HM開源鴻蒙系統(tǒng)主板資料匯總帖-開源鴻蒙技術(shù)交流-Bearkey-開源社區(qū) ,可以獲取 貝啟科技BQ3568HM開源鴻蒙開發(fā)板 的所有資料。 開源
    發(fā)表于 03-16 10:53

    【「鴻蒙操作系統(tǒng)設(shè)計(jì)原理與架構(gòu)」閱讀體驗(yàn)】01-初始華為鴻蒙

    非常有幸能夠獲得發(fā)燒友的華為鴻蒙系統(tǒng)書籍的閱讀資格,自己從事嵌入式軟件多年,但是對(duì)于操作系統(tǒng)的了解還是比較少的,一直從事MCU的部分開發(fā)任務(wù),近兩年隨著中美關(guān)系的緊張化,國(guó)產(chǎn)化的操作系統(tǒng)
    發(fā)表于 01-25 11:05

    華為新品出廠默認(rèn)搭載原生鴻蒙系統(tǒng)

    華為近日宣布了一項(xiàng)重要決策,即2025年其手機(jī)、平板、穿戴等新品都將出廠默認(rèn)搭載原生鴻蒙操作系統(tǒng)。這一舉措標(biāo)志著華為在操作系統(tǒng)領(lǐng)域邁出了堅(jiān)實(shí)的一步,也彰顯了其對(duì)自主技術(shù)的堅(jiān)定信心和決心。 據(jù)了解
    的頭像 發(fā)表于 01-03 10:48 ?1422次閱讀

    開源鴻蒙系統(tǒng)外設(shè)指紋儀模塊功能演示#OpenHarmony

    鴻蒙系統(tǒng)
    深圳市視美泰技術(shù)股份有限公司
    發(fā)布于 :2024年12月17日 10:45:58

    開源鴻蒙系統(tǒng)外設(shè)身份證模塊讀取信息演示 #OpenHarmony

    鴻蒙系統(tǒng)
    深圳市視美泰技術(shù)股份有限公司
    發(fā)布于 :2024年12月17日 10:45:11

    名單公布!【書籍評(píng)測(cè)活動(dòng)NO.53】鴻蒙操作系統(tǒng)設(shè)計(jì)原理與架構(gòu)

    積累的AI能力和鴻蒙原生應(yīng)用生態(tài)相結(jié)合,帶來(lái)了全新的 鴻蒙原生智能(Harmony Intelligence) 。 HarmonyOS NEXT首次將AI能力融入系統(tǒng),賦能生態(tài)。 HarmonyOS
    發(fā)表于 12-16 15:10

    如何在開源鴻蒙OpenHarmony開啟SELinux模式?RK3566鴻蒙開發(fā)板演示

    本文介紹開源鴻蒙OpenHarmony系統(tǒng)下,開啟/關(guān)閉SELinux權(quán)限的方法,觸覺(jué)智能Purple Pi OH鴻蒙開發(fā)板演示,已適配全新OpenHarmony5.0 Release
    的頭像 發(fā)表于 11-18 19:03 ?1128次閱讀
    如何在開源<b class='flag-5'>鴻蒙</b>OpenHarmony開啟SELinux模式?RK3566<b class='flag-5'>鴻蒙</b>開發(fā)板演示

    鴻蒙系統(tǒng)專用版微信內(nèi)測(cè)即將啟動(dòng)

    近日,有知情人士稱鴻蒙系統(tǒng)專用版微信的開發(fā)工作現(xiàn)已基本完成。這一消息標(biāo)志著微信在適配鴻蒙系統(tǒng)方面取得了重要進(jìn)展,為鴻蒙
    的頭像 發(fā)表于 11-07 10:58 ?1867次閱讀

    原生鴻蒙操作系統(tǒng)正式發(fā)布,誠(chéng)邁科技與華為一起共建鴻蒙新世界

    10月22日,我國(guó)首個(gè)國(guó)產(chǎn)移動(dòng)操作系統(tǒng)——華為原生鴻蒙操作系統(tǒng)正式發(fā)布,這也是繼蘋果iOS和安卓系統(tǒng)后,全球第三大移動(dòng)操作系統(tǒng)。此次發(fā)布的原
    的頭像 發(fā)表于 10-28 09:29 ?1749次閱讀
    原生<b class='flag-5'>鴻蒙</b>操作<b class='flag-5'>系統(tǒng)</b>正式發(fā)布,誠(chéng)邁科技與華為一起共建<b class='flag-5'>鴻蒙</b>新世界

    華為鴻蒙系統(tǒng)正式發(fā)布,華鼎冷鏈科技攜手共筑國(guó)產(chǎn)OS生態(tài)

    華為鴻蒙系統(tǒng)刷屏了!10月22日, 華為正式發(fā)布原生鴻蒙操作系統(tǒng)HarmonyOS NEXT,成為與蘋果iOS系統(tǒng)和谷歌安卓
    的頭像 發(fā)表于 10-25 11:43 ?1098次閱讀
    華為<b class='flag-5'>鴻蒙</b><b class='flag-5'>系統(tǒng)</b>正式發(fā)布,華鼎冷鏈科技攜手共筑國(guó)產(chǎn)OS生態(tài)

    華為原生鴻蒙操作系統(tǒng)正式發(fā)布

    10月22日晚,華為舉行了一場(chǎng)盛大的發(fā)布會(huì),正式推出了其原生鴻蒙操作系統(tǒng)HarmonyOS NEXT,也被稱為鴻蒙5.0。這一發(fā)布標(biāo)志著鴻蒙系統(tǒng)
    的頭像 發(fā)表于 10-23 16:52 ?1533次閱讀