Android 图片的存取

最近写到一个题目,需要我把图片保存到手机。我实现的方法是结合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();
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值