我试图保存个人资料照片,但是当我使用我得到的保存图像代码时(我在互联网上到处都有相同的例子),我真的不知道图像的存储位置。< / p>
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上。如果没有,什么都不会发生。我保存它们时,我真的不知道图像会存储在哪里。任何帮助或提示将不胜感激。
答案 0 :(得分:1)
你的问题在于:
out = new FileOutputStream("BecityAvatar.png");
这样您就可以创建一个FileOutputStream
,指向到/
,而您的应用程序无权在那里写。例如
File file = new File(getFilesDir(), "BecityAvatar.png")
out = new FileOutputStream(file);
要使用getFilesDir()
,您需要一个上下文