我目前正在开发一个Android应用程序,从我的自定义服务器获取图像URls并将它们加载到ImageView中。我为此使用过毕加索。我已成功完成下载过程,但我想如何将图像保存在设备中,以便用户即使在离线运行应用程序时也可以查看它们,而不会损失图像质量。我打算将图像位置存储到我的数据库中。我只需要将代码保存到内存中以及在另一个类中访问该图像的方法。正好有5张图片。
答案 0 :(得分:1)
您正在加载毕加索的图片,试试这个
@Override
public void onBitmapLoaded(final Bitmap bitmap, Picasso.LoadedFrom from) {
new Thread(new Runnable() {
@Override
public void run() {
File file = new File(Environment.getExternalStorageDirectory().getPath() + "/" + url);
try {
file.createNewFile();
FileOutputStream ostream = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 80, ostream);
ostream.flush();
ostream.close();
} catch (IOException e) {
Log.e("IOException", e.getLocalizedMessage());
}
}
}).start();
}
它会将加载的文件保存在设备存储中。 确保在清单中具有write_storage权限。