Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android解析獲取網絡上的圖片(支持bmp格式)

Android解析獲取網絡上的圖片(支持bmp格式)

編輯:關於Android編程

Android學習系列 - 顯示網絡上的圖片(支持bmp格式))

  見如下代碼:

  /**
* 到Url地址上去下載圖片,並回傳Bitmap回來
*
* @param imgUrl * @return
*/
public static Bitmap getBitmapFromUrl(String imgUrl)
{
URL url;
Bitmap bitmap = null;
try {
url = new URL(imgUrl);
InputStream is = url.openConnection().getInputStream();

BufferedInputStream bis = new BufferedInputStream(is);
// bitmap = BitmapFactory.decodeStream(bis); 注釋1
byte[] b = getBytes(is);
bitmap = BitmapFactory.decodeByteArray(b,0,b.length);
bis.close();
}catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e){
e.printStackTrace();
}
return bitmap;
}

   /**
* 將InputStream對象轉換為Byte[]
* @param is
* @return
* @throws IOException */

public static byte[] getBytes(InputStream is) throws IOException{

ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] b = new byte[1024];
int len = 0;
while ((len = is.read(b, 0, 1024)) != -1)
{
baos.write(b, 0, len);
baos.flush();
}
byte[] bytes = baos.toByteArray();
return bytes;
}

  得到Bitmap 之後,然後調用ImageView的setImageBitmap方法就正常顯示了

  PS:注釋1這裡注意一下,原本是用注釋1這裡來進行獲取的,png,jpg格式均正常

,但是圖片格式為bmp時,這個方法獲取的時候一直為null, 故改為現在這種方式。
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved