Android 保存网络图片

1、保存图片Utils

getExternalCacheDir() // 对应用中缓存文件夹Environment.getExternalStorageDirectory().getAbsolutePath()//根

public class ImageSaveUtils {
    //保存文件到指定路径
    public static boolean saveImageToGallery(Context context, Bitmap bmp) {
        // 保存图片目录 (根目录下XXX)
        File appDir = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/XXX/XXX");
        if (!appDir.exists()) {
            /*mkdirs();//多级目录*/
            Boolean isSuccess= appDir.mkdirs();
            DebugLog.i("创建"+isSuccess.toString());
        }else{
            DebugLog.i("已有文件夹");
        }
        // 文件名
        String fileName = "XXexport"+System.currentTimeMillis() + ".jpg";
        File file = new File(appDir, fileName);

        try {
            DebugLog.i("开始保存");
            FileOutputStream fos = new FileOutputStream(file);
            //通过io流的方式来压缩保存图片
            boolean isSuccess = bmp.compress(Bitmap.CompressFormat.JPEG, 100, fos);
            fos.flush();
            fos.close();

            //把文件插入到系统图库
            //MediaStore.Images.Media.insertImage(context.getContentResolver(), file.getAbsolutePath(), fileName, null);

            //保存图片后发送广播通知更新数据库
            Uri uri = Uri.fromFile(file);
            context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri));
            if (isSuccess) {
                return true;
            } else {
                return false;
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return false;
    }
}

2、使用
// 网络图片转 bitmap 
Bitmap bitmap = ImageLoader.getInstance().loadImageSync(url);

boolean isSaveSuccess = ImageSaveUtils.saveImageToGallery(Context, bitmap);



你可能感兴趣的:(安卓,保存图片,保存网络图片)