Android 開發圖片儲存在本地
阿新 • • 發佈:2018-12-30
/** * 圖片儲存到本地 方法2 * * @param bitmap */ public static void compressImagetwo(Bitmap bitmap) { try { String newPath = Environment.getExternalStorageDirectory() + "/" + System.currentTimeMillis()+ ".jpg"; FileOutputStream fileOutputStream = new FileOutputStream(newPath); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fileOutputStream); fileOutputStream.flush(); fileOutputStream.close(); } catch (Exception e) { e.printStackTrace(); } } /** * 圖片儲存到本地 方法1 速度比方法2速度快 jpg 格式可以顯示 * @param bitmap */ public static File compressImage(Bitmap bitmap) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);//質量壓縮方法,這裡100表示不壓縮,把壓縮後的資料存放到baos中 File file = new File(Environment.getExternalStorageDirectory(),System.currentTimeMillis()+".jpg"); try { FileOutputStream fos = new FileOutputStream(file); fos.write(baos.toByteArray()); fos.flush(); fos.close(); } catch (Exception e) { e.printStackTrace(); } // recycleBitmap(bitmap); return file; } //圖片釋放 public static void recycleBitmap(Bitmap... bitmaps) { if (bitmaps==null) { return; } for (Bitmap bm : bitmaps) { if (null != bm && !bm.isRecycled()) { bm.recycle(); } } }
注意:
1、新增許可權:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
2、現在智慧手機經常把你的APP許可權變成不可讀寫。如果儲存不成功。那麼你去安全管家,許可權管理裡看看是不是不讓寫了。是的話開啟就好了