欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android 實現將Bitmap 保存到本地

 更新時間:2020年03月20日 15:14:03   作者:GreatCoder726  
這篇文章主要介紹了Android 實現將Bitmap 保存到本地,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

Overview

圖片是一個可以使你程序變得比較的美觀,所以我們會在我們的軟件中使用圖片。但是對于圖片的操作也是比較的復雜。今天,我們學習一下如是將我們的圖片保存到我們的本地。

開發(fā)環(huán)境

Android Studio 3.6

Android 11

Mac OS 10.15

模擬機 Google Pixel3 API R

然后學習一下如何來完成我們的功能

按照國際慣例,我們先來看一下我們的代碼:

/**
 * 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");
    //指定我們想要存儲文件的地址
    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)建成功,那么我們則需要進行圖片存儲操作
      File saveFile = new File(TargetPath, name);

      try {
        FileOutputStream saveImgOut = new FileOutputStream(saveFile);
        // compress - 壓縮的意思
        bm.compress(Bitmap.CompressFormat.JPEG, 80, saveImgOut);
        //存儲完成后需要清除相關的進程
        saveImgOut.flush();
        saveImgOut.close();
        Log.d("Save Bitmap", "The picture is save to your phone!");
      } catch (IOException ex) {
        ex.printStackTrace();
      }
    }
  }

}

這樣我們的寫入方法就完成了,比較的簡單的。

首相,我們需要獲取我們的軟件的根目錄。我們可以使用Context.getFilesDir()來獲取到軟件的根目錄,并且我需要保存到我們的images文件下方。

這樣獲取了我么的存儲路徑然后我們的需要判斷是不是首次使用,或者是該目錄是否存在,然后我們看一下如何來判斷我們的文件存在方法。

看一下源代碼:

class FileUtils {
  /**
   * 判斷指定目錄的文件夾是否存在,如果不存在則需要創(chuàng)建新的文件夾
   * @param fileName 指定目錄
   * @return 返回創(chuàng)建結果 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();
    }
  }
}

我們在這個方法中傳入指定的存儲路徑,然后判斷是否存在,如果存在我們需要創(chuàng)建我們的指定目錄,然后返回我們的創(chuàng)建結果。這樣我們的對目錄的操作就基本完成了。

完成對目錄的操作,我們在看下如何完成我們的存儲過程,我們需要創(chuàng)建一個FileOutputStream 來用于圖片的寫入,并且我們需要對圖片進行相對應的壓縮操作。

并且我們的在最后需要清除我們相關的方法,這樣我們的地Bitmap的操作就基本完成了。比較簡單。

以上這篇Android 實現將Bitmap 保存到本地就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Android自定義屬性 format的深入解析

    Android自定義屬性 format的深入解析

    以下是對Android中的自定義屬性format進行了詳細的分析介紹,需要的朋友可以過來參考下
    2013-07-07
  • 利用Android實現光影流動特效的方法詳解

    利用Android實現光影流動特效的方法詳解

    Flutter 的畫筆類 Paint 提供了很多圖形繪制的配置屬性,來供我們繪制更豐富多彩的圖形。本篇我們引入一個 Paint 類新的屬性:maskFilter,再結合之前的 shader 和動畫,制作出光影流動特效,感興趣的可以嘗試一下
    2022-07-07
  • Android中切換到主線程執(zhí)行的方法

    Android中切換到主線程執(zhí)行的方法

    這篇文章主要介紹了Android中切換到主線程執(zhí)行的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • Android布局之LinearLayout線性布局

    Android布局之LinearLayout線性布局

    LinearLayout是線性布局控件:要么橫向排布,要么豎向排布,下面通過本篇文章給大家介紹Android布局之LinearLayout線性布局,涉及到android linearlayout 布局相關知識,對本文感興趣的朋友一起學習吧
    2015-12-12
  • 清楚詳解Android?進程間圖傳遞圖形buffer原理

    清楚詳解Android?進程間圖傳遞圖形buffer原理

    這篇文章主要為大家清楚的詳解了Android?進程間圖傳遞圖形buffer原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • android計算器簡單實現代碼

    android計算器簡單實現代碼

    這篇文章主要為大家詳細介紹了android計算器的簡單實現代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 淺扒Android動態(tài)設置字體大小的示例

    淺扒Android動態(tài)設置字體大小的示例

    本篇文章主要介紹了淺扒Android動態(tài)設置字體大小的示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • Android程序啟動時出現黑屏問題的解決方法

    Android程序啟動時出現黑屏問題的解決方法

    這篇文章主要介紹了Android程序啟動時出現黑屏問題的解決方法,分析了黑屏出現的原因及相應的解決方法,需要的朋友可以參考下
    2016-08-08
  • Android移動端touch實現下拉刷新功能

    Android移動端touch實現下拉刷新功能

    這篇文章主要介紹了移動端touch實現下拉刷新功能,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-02-02
  • Android UI設計與開發(fā)之ViewPager介紹和簡單實現引導界面

    Android UI設計與開發(fā)之ViewPager介紹和簡單實現引導界面

    這篇文章主要為大家詳細介紹了Android UI設計與開發(fā)之ViewPager介紹和簡單實現引導界面,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08

最新評論