Android 實(shí)現(xiàn)將Bitmap 保存到本地
Overview
圖片是一個(gè)可以使你程序變得比較的美觀,所以我們會(huì)在我們的軟件中使用圖片。但是對于圖片的操作也是比較的復(fù)雜。今天,我們學(xué)習(xí)一下如是將我們的圖片保存到我們的本地。
開發(fā)環(huán)境
Android Studio 3.6
Android 11
Mac OS 10.15
模擬機(jī) Google Pixel3 API R
然后學(xué)習(xí)一下如何來完成我們的功能
按照國際慣例,我們先來看一下我們的代碼:
/** * Bitmap 幫助類之一 */ class BitmapUtils { /** * Save Bitmap * * @param name file name * @param bm picture to save */ static void saveBitmap(String name, Bitmap bm, Context mContext) { Log.d("Save Bitmap", "Ready to save picture"); //指定我們想要存儲(chǔ)文件的地址 String TargetPath = mContext.getFilesDir() + "/images/"; Log.d("Save Bitmap", "Save Path=" + TargetPath); //判斷指定文件夾的路徑是否存在 if (!FileUtils.fileIsExist(TargetPath)) { Log.d("Save Bitmap", "TargetPath isn't exist"); } else { //如果指定文件夾創(chuàng)建成功,那么我們則需要進(jìn)行圖片存儲(chǔ)操作 File saveFile = new File(TargetPath, name); try { FileOutputStream saveImgOut = new FileOutputStream(saveFile); // compress - 壓縮的意思 bm.compress(Bitmap.CompressFormat.JPEG, 80, saveImgOut); //存儲(chǔ)完成后需要清除相關(guān)的進(jìn)程 saveImgOut.flush(); saveImgOut.close(); Log.d("Save Bitmap", "The picture is save to your phone!"); } catch (IOException ex) { ex.printStackTrace(); } } } }
這樣我們的寫入方法就完成了,比較的簡單的。
首相,我們需要獲取我們的軟件的根目錄。我們可以使用Context.getFilesDir()
來獲取到軟件的根目錄,并且我需要保存到我們的images
文件下方。
這樣獲取了我么的存儲(chǔ)路徑然后我們的需要判斷是不是首次使用,或者是該目錄是否存在,然后我們看一下如何來判斷我們的文件存在方法。
看一下源代碼:
class FileUtils { /** * 判斷指定目錄的文件夾是否存在,如果不存在則需要?jiǎng)?chuàng)建新的文件夾 * @param fileName 指定目錄 * @return 返回創(chuàng)建結(jié)果 TRUE or FALSE */ static boolean fileIsExist(String fileName) { //傳入指定的路徑,然后判斷路徑是否存在 File file=new File(fileName); if (file.exists()) return true; else{ //file.mkdirs() 創(chuàng)建文件夾的意思 return file.mkdirs(); } } }
我們在這個(gè)方法中傳入指定的存儲(chǔ)路徑,然后判斷是否存在,如果存在我們需要?jiǎng)?chuàng)建我們的指定目錄,然后返回我們的創(chuàng)建結(jié)果。這樣我們的對目錄的操作就基本完成了。
完成對目錄的操作,我們在看下如何完成我們的存儲(chǔ)過程,我們需要?jiǎng)?chuàng)建一個(gè)FileOutputStream
來用于圖片的寫入,并且我們需要對圖片進(jìn)行相對應(yīng)的壓縮操作。
并且我們的在最后需要清除我們相關(guān)的方法,這樣我們的地Bitmap
的操作就基本完成了。比較簡單。
以上這篇Android 實(shí)現(xiàn)將Bitmap 保存到本地就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 詳解Android Bitmap的使用
- android獲取圖片尺寸的兩種方式及bitmap的縮放操作
- Android 實(shí)現(xiàn)把bitmap圖片的某一部分的顏色改成其他顏色
- Android中的Bitmap序列化失敗的解決方法
- Android BitmapUtils工具類使用詳解
- Android Bitmap的加載與緩存
- 詳解Android Bitmap的常用壓縮方式
- Android中的Bitmap的詳細(xì)介紹
- Android圖片處理工具類BitmapUtils
- Android開發(fā)中Bitmap高效加載使用詳解
- Android中Glide獲取圖片Path、Bitmap用法詳解
- Android Bitmap像素級操作詳解
相關(guān)文章
利用Android實(shí)現(xiàn)光影流動(dòng)特效的方法詳解
Flutter 的畫筆類 Paint 提供了很多圖形繪制的配置屬性,來供我們繪制更豐富多彩的圖形。本篇我們引入一個(gè) Paint 類新的屬性:maskFilter,再結(jié)合之前的 shader 和動(dòng)畫,制作出光影流動(dòng)特效,感興趣的可以嘗試一下2022-07-07清楚詳解Android?進(jìn)程間圖傳遞圖形buffer原理
這篇文章主要為大家清楚的詳解了Android?進(jìn)程間圖傳遞圖形buffer原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02android計(jì)算器簡單實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了android計(jì)算器的簡單實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03淺扒Android動(dòng)態(tài)設(shè)置字體大小的示例
本篇文章主要介紹了淺扒Android動(dòng)態(tài)設(shè)置字體大小的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-12-12Android程序啟動(dòng)時(shí)出現(xiàn)黑屏問題的解決方法
這篇文章主要介紹了Android程序啟動(dòng)時(shí)出現(xiàn)黑屏問題的解決方法,分析了黑屏出現(xiàn)的原因及相應(yīng)的解決方法,需要的朋友可以參考下2016-08-08Android移動(dòng)端touch實(shí)現(xiàn)下拉刷新功能
這篇文章主要介紹了移動(dòng)端touch實(shí)現(xiàn)下拉刷新功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02Android UI設(shè)計(jì)與開發(fā)之ViewPager介紹和簡單實(shí)現(xiàn)引導(dǎo)界面
這篇文章主要為大家詳細(xì)介紹了Android UI設(shè)計(jì)與開發(fā)之ViewPager介紹和簡單實(shí)現(xiàn)引導(dǎo)界面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08