我們?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ī)測試(不帶SD卡),圖片存儲(chǔ)在手機(jī)自帶內(nèi)存==》ememed ==》圖片所在。
6.存儲(chǔ)SD卡,這類操作往往需要權(quán)限。所以,不要忘記在AndroidManifest中配置權(quán)限:
<uses-permission android/114576.html">android/237886.html">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í)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注