Android 图片的存取
来源:互联网 发布:单片机编程c语言 编辑:程序博客网 时间:2024/06/05 04:07
最近写到一个题目,需要我把图片保存到手机。我实现的方法是结合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(); }
阅读全文