android从内存中的url store下载图像,然后在imageview中显示该图像

时间:2016-05-31 05:59:45

标签: android android-image android-internal-storage

我想从url下载图像并在存储后将其存储到内部存储器中获取存储在内部存储器中的图像并将其显示在imageview中

1 个答案:

答案 0 :(得分:1)

您可以使用此代码下载图片

  URL url = new URL(<your url>);
  InputStream in = new BufferedInputStream(url.openStream());
  ByteArrayOutputStream out = new ByteArrayOutputStream();
  byte[] buf = new byte[1024];
  int n = in.read(buf);
 while (n!=-1)
 {
  out.write(buf, 0, n);
   n=in.read(buf)
  }
 out.close();
 in.close();
 byte[] response = out.toByteArray();

以下代码将其保存到内部存储空间

  FileOutputStream fos = new FileOutputStream(filePath);
  fos.write(response);
  fos.close();

其中内部存储的文件路径为

  String filePath=getFilesDir().getPath() + File.separator + "image_" + <some unique identifier like int or string that is different for different images>

要在imageView中使用

显示
  File imgFile = new  File(filePath);

if(imgFile.exists()){

Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());

ImageView myImage = (ImageView) findViewById(R.id.imageviewTest);

myImage.setImageBitmap(myBitmap);

 }

希望它有所帮助。