-1

我试图保存个人资料照片,但是当我使用我得到的保存图像代码时(我在互联网上到处都有几乎相同的例子),我真的不知道图像存储在哪里。

public void saveImage(Bitmap image) {
    FileOutputStream out = null;
    try {
        out = new FileOutputStream("BecityAvatar.png");
        image.compress(Bitmap.CompressFormat.PNG, 90, out);
        out.flush();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (out != null) {
                out.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

问题是,我想存储图像,因此当配置文件启动并加载布局时,如果有图像存储为头像,它会从布局将自身加载到 imageview 上。如果没有,什么都不会发生。我真的不知道保存图像时会将它们存储在哪里。任何帮助或提示将不胜感激。

4

1 回答 1

1

你的问题是:

out = new FileOutputStream("BecityAvatar.png");

这样,您正在创建一个FileOutputStream,指向/并且您的应用程序无权在此处写入。例如

File file = new File(getFilesDir(), "BecityAvatar.png")
out = new FileOutputStream(file);

要使用getFilesDir(),你需要一个上下文

于 2014-11-04T16:18:18.243 回答