如何将图像从DB导出到SD卡

时间:2014-02-27 08:20:30

标签: android export android-sdcard

这个方法帮助我显示从db到imgview的图像。 那么如何将它保存在SD卡上?

private Bitmap setImage(String base64String) {
    Bitmap bmp = null;
    try {
        if (base64String == null || base64String.equals("")) {


        } else {

            byte[] decodedString = Base64.decode(base64String, Base64.DEFAULT);

            bmp =  BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);

        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return bmp;
}

的Eclipse Android 2.2

1 个答案:

答案 0 :(得分:5)

从你的方法返回位图,你可以将该位图存储到SD卡中。

在Android中我们可以以同伴的方式保存位图。

然后你必须从SD卡到达目录(File对象),例如:

File deviceSdcardDirectory = Environment.getExternalStorageDirectory();

接下来,为图像存储创建特定文件:

File image = new File(deviceSdcardDirectory, "file_name.png");

之后,你只需编写位图:

// Encode the file as a PNG image.
FileOutputStream outStream;
try {

    outStream = new FileOutputStream(image);
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, outStream); 
    /* 100 to keep full quality of the image */

    outStream.flush();
    outStream.close();

} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

不要忘记在清单文件中添加以下权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>