Android 圖片存儲(chǔ)到指定路徑和相冊(cè)的方法
我們?cè)谄匠m?xiàng)目中,可能會(huì)存儲(chǔ)一些頭像,二維碼之類的。這篇文章主要也是介紹自己在存儲(chǔ)中會(huì)遇到的問題以及一些改進(jìn)方案。
1.首先是長按保存:這個(gè)可以去參照網(wǎng)絡(luò)上的,無非是自己先要拼接好一個(gè)文件路徑。注意:IO流只能幫忙建文件,但是不能幫忙建目錄(路徑)。
// 先拼接好一個(gè)路徑:在內(nèi)存卡/或是手機(jī)內(nèi)存上做好文件夾 String filePath = Environment.getExternalStorageDirectory()+savePath; File localFile = new File(filePath); if (!localFile.exists()) { localFile.mkdir(); }
2.引導(dǎo)具體的文件名和路徑:
//拼接好文件路徑和名稱 File finalImageFile = new File(localFile, System.currentTimeMillis() + ".jpg"); if (finalImageFile.exists()) { finalImageFile.delete(); } try { finalImageFile.createNewFile(); } catch (IOException e) { e.printStackTrace(); }
3.文件的讀?。?/p>
FileOutputStream fos = null; try { fos = new FileOutputStream(finalImageFile); } catch (FileNotFoundException e) { e.printStackTrace(); } if (bitmap == null) { Toast.makeText(this, "圖片不存在", 0).show(); return; } bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos); try { fos.flush(); fos.close(); Toast.makeText(this, "圖片保存在:"+ finalImageFile.getAbsolutePath(), 0).show(); } catch (IOException e) { e.printStackTrace(); }
4.對(duì)于圖片,我們也希望存儲(chǔ)在固定路徑之后,希望也可以在相冊(cè)中查看該圖片。這是可以利用一個(gè)廣播告訴相冊(cè)有圖片更新。
//發(fā)廣播告訴相冊(cè)有圖片需要更新,這樣可以在圖冊(cè)下看到保存的圖片了 Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); Uri uri = Uri.fromFile(finalImageFile); intent.setData(uri); sendBroadcast(intent);
通過以上步驟: 我們可以在指定路徑的文件夾和相冊(cè)中查看存儲(chǔ)好的圖片了。
效果如下所示:
5.另外,雖然有吐司提示用戶存儲(chǔ)路徑,但是也會(huì)找不到。其實(shí),在用真機(jī)測(cè)試(不帶SD卡),圖片存儲(chǔ)在手機(jī)自帶內(nèi)存==》ememed ==》圖片所在。
6.存儲(chǔ)SD卡,這類操作往往需要權(quán)限。所以,不要忘記在AndroidManifest中配置權(quán)限:
<uses-permission android:name="android.permission.WRITE_SETTINGS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_OWNER_DATA" />
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 基于Android實(shí)現(xiàn)保存圖片到本地并可以在相冊(cè)中顯示出來
- android獲取相冊(cè)圖片和路徑的實(shí)現(xiàn)方法
- android照相、相冊(cè)獲取圖片剪裁報(bào)錯(cuò)的解決方法
- 解決Android從相冊(cè)中獲取圖片出錯(cuò)圖片卻無法裁剪問題的方法
- Android實(shí)現(xiàn)讀取相機(jī)(相冊(cè))圖片并進(jìn)行剪裁
- android中打開相機(jī)、打開相冊(cè)進(jìn)行圖片的獲取示例
- Android實(shí)現(xiàn)保存圖片到本地并在相冊(cè)中顯示
- Android實(shí)現(xiàn)長按圖片保存至相冊(cè)功能
- Android獲取本地相冊(cè)圖片和拍照獲取圖片的實(shí)現(xiàn)方法
- Android實(shí)現(xiàn)選擇相冊(cè)圖片并顯示功能
相關(guān)文章
Android實(shí)現(xiàn)多線程斷點(diǎn)下載
大家好,本篇文章主要講的是Android實(shí)現(xiàn)多線程斷點(diǎn)下載,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01AndroidStudio 配置 AspectJ 環(huán)境實(shí)現(xiàn)AOP的方法
本篇文章主要介紹了AndroidStudio 配置 AspectJ 環(huán)境實(shí)現(xiàn)AOP的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-02-02Android使用MulticastSocket實(shí)現(xiàn)多點(diǎn)廣播圖片
這篇文章主要為大家詳細(xì)介紹了Android使用MulticastSocket實(shí)現(xiàn)多點(diǎn)廣播圖片,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01Android Viewpager實(shí)現(xiàn)無限循環(huán)輪播圖
這篇文章主要為大家詳細(xì)介紹了Android Viewpager實(shí)現(xiàn)無限循環(huán)輪播圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11Android開發(fā)獲取當(dāng)前系統(tǒng)日期和時(shí)間功能示例
這篇文章主要介紹了Android開發(fā)獲取當(dāng)前系統(tǒng)日期和時(shí)間功能,結(jié)合實(shí)例形式分析了Android布局、事件響應(yīng)、監(jiān)聽以及時(shí)間獲取相關(guān)操作技巧,需要的朋友可以參考下2019-04-04