最近寫到一個題目,需要我把圖片保存到手機。我實現的方法是結合Litepal,創建一個數據庫,表中含有我的圖片的路徑以及圖片的名稱。
QR是我定義的用於創建表的類。要把圖片存入手機的外部存儲設備,可以先判斷是否掛載,通過Environment.getExternalStorageState()是否和Environment.MEDIA_MOUNTED一致,然後通過Environment.getExternalStorageDirectory()得到外部存儲設備的路徑,
private final static String ALBUM_PATH
= Environment.getExternalStorageDirectory() + "/qr_image/";
public void saveFile(Bitmap bm, String fileName) throws IOException {
QR qr=new QR();
qr.setName(fileName);
qr.setImageId(ALBUM_PATH + fileName);
qr.save();
File dirFile = new File(ALBUM_PATH);
if(!dirFile.exists()){
dirFile.mkdir();
}
File myCaptureFile = new File(ALBUM_PATH + fileName);
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(myCaptureFile));
bm.compress(Bitmap.CompressFormat.JPEG, 80, bos);
bos.flush();
bos.close();
}
如果要讀取則
File file=new File(path);
if(file.exists())
{
Bitmap bitmap= BitmapFactory.decodeFile(path);
// test.setImageBitmap(bitmap);
}
else
{
Toast.makeText(this, "路徑不存在", Toast.LENGTH_SHORT).show();
}