Android 圖片存儲到指定路徑和相冊的方法
我們在平常項目中,可能會存儲一些頭像,二維碼之類的。這篇文章主要也是介紹自己在存儲中會遇到的問題以及一些改進方案。
1.首先是長按保存:這個可以去參照網(wǎng)絡(luò)上的,無非是自己先要拼接好一個文件路徑。注意:IO流只能幫忙建文件,但是不能幫忙建目錄(路徑)。
// 先拼接好一個路徑:在內(nèi)存卡/或是手機內(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.文件的讀取:
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.對于圖片,我們也希望存儲在固定路徑之后,希望也可以在相冊中查看該圖片。這是可以利用一個廣播告訴相冊有圖片更新。
//發(fā)廣播告訴相冊有圖片需要更新,這樣可以在圖冊下看到保存的圖片了 Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); Uri uri = Uri.fromFile(finalImageFile); intent.setData(uri); sendBroadcast(intent);
通過以上步驟: 我們可以在指定路徑的文件夾和相冊中查看存儲好的圖片了。
效果如下所示:
5.另外,雖然有吐司提示用戶存儲路徑,但是也會找不到。其實,在用真機測試(不帶SD卡),圖片存儲在手機自帶內(nèi)存==》ememed ==》圖片所在。
6.存儲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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
AndroidStudio 配置 AspectJ 環(huán)境實現(xiàn)AOP的方法
本篇文章主要介紹了AndroidStudio 配置 AspectJ 環(huán)境實現(xiàn)AOP的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02Android使用MulticastSocket實現(xiàn)多點廣播圖片
這篇文章主要為大家詳細介紹了Android使用MulticastSocket實現(xiàn)多點廣播圖片,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-01-01Android Viewpager實現(xiàn)無限循環(huán)輪播圖
這篇文章主要為大家詳細介紹了Android Viewpager實現(xiàn)無限循環(huán)輪播圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-11-11Android開發(fā)獲取當(dāng)前系統(tǒng)日期和時間功能示例
這篇文章主要介紹了Android開發(fā)獲取當(dāng)前系統(tǒng)日期和時間功能,結(jié)合實例形式分析了Android布局、事件響應(yīng)、監(jiān)聽以及時間獲取相關(guān)操作技巧,需要的朋友可以參考下2019-04-04