我目前的代码:
URL url = new URL("URL_I_USE_TO_RETRIEVE_A_PHOTO");
Bitmap bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
我在imageview
中显示这个位图,它完美无缺。但是,要存储一些带宽,我想在本地存储照片(如果存在这样的名称)。我如何存储它,然后检查这些照片是否存在?我在这里检查了一些答案,但是他们之后没有处理检索图片。
答案 0 :(得分:2)
您可以使用URL中的inputStream并存储到FileOutputStream中。稍后您可以使用FileInputStream再次解码位图。
示例:
InputStream in= url.openConnection().getInputStream();
OutputStream out=new FileOutputStream(...);
IOUtils.copy(in,out);
in=new FileInputStream(...);
Bitmap bitmap=BitmapFactory.decodeStream(in);
无论如何,有一些库可以为您完成,包括缓存和许多其他功能。如果图像可能相当大(或者具有未指定的大小),您还应该考虑下采样。</ p>