如何将位图图像存储在SD卡中的文件中


    bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
    if(android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))
    {
        cacheFile = new File(android.os.Environment.getExternalStorageDirectory(), "Android/data/"+this.getPackageName()+"/cache/");
        if(!cacheFile.exists())
        {
            cacheFile.mkdir();
        }
        try {
            fileOutputStream = new FileOutputStream(cacheFile);
            bitmap.compress(Bitmap.CompressFormat.PNG, 100, fileOutputStream);
            fileOutputStream.flush();
            fileOutputStream.close();
        } catch (Exception e) {
            Log.i("Error", e.getMessage());
        }
    }

但是我收到错误,mnt/sdcard/Android/data/com.android.linegame/cache 文件不存在

你使用的是哪个安卓版本?因为Android 2.2在mnt/sdcard中包含文件夹"Android"。但是Android 4.0版本不包含文件夹"Android"。

添加以下代码:

cacheFile = new File(Environment.getExternalStorageDirectory(), "/Android/data/"+this.getPackageName()+"/cache/");
if(!cacheFile.exists()) {
    cacheFile.mkdirs();
}

最新更新