天天看點

Android将ImageView中的圖檔儲存到本地圖庫

話不多少,直接上代碼:

activity_main.xml:

Android将ImageView中的圖檔儲存到本地圖庫

一個ImageView,幾個button

接下來是MainActivity.java中

Android将ImageView中的圖檔儲存到本地圖庫

我們先是建立好檔案和輸出流,寫到sd卡目錄,以目前時間命名。

這裡copy是一個bitmap對象,是以使用compress方法,裡面的 “100”指的是圖檔的品質,0表示以最小空間來儲存,100表示以最大品質來儲存圖檔,儲存完圖檔後,可以在sd卡裡面找到圖檔,但是我們手機的圖庫并沒有,是以我們需要發送一條廣播,通知系統去掃描sd卡,(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE),這樣便能夠立刻在圖庫中找到圖檔啦!

(ps: 我們系統在sd卡就緒時,會進行周遊sd卡,将sd卡裡面的圖檔,視屏等資訊建構成一個索引,存在MediaStore資料庫中,當我們打開系統圖庫時,系統是不會再次掃描sd卡【需要時間】,之間将mediastore資料庫中的索引,讀取出來,是以我們儲存到sd卡後打開圖庫看不到儲存的圖檔,這就是為什麼我們要發送廣播了!)

運作結果:

Android将ImageView中的圖檔儲存到本地圖庫
Android将ImageView中的圖檔儲存到本地圖庫