android httpUrlConnection 方式从网络上面下载图片

来源:互联网 发布:javascript 文字滚动 编辑:程序博客网 时间:2024/06/05 18:23
URL url = null;
HttpURLConnection conn = null;
InputStream in = null;
ByteArrayOutputStream outStream = null;
try
{
url = new URL("http://www.eoeandroid.com/data/attachment/forum/201107/18/142935bbi8d3zpf3d0dd7z.jpg");
conn  = ( HttpURLConnection ) url.openConnection();

in  = conn.getInputStream();

//也可以直接 BitmapFactory.decodeStream(in); 出bitmap  要注意的是这样调用后,会把in里面的数据消耗了,就不能继续像下面那样读取了。

//in里面的数据只能用一次

 

outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = -1;
while( (len = in.read(buffer)) != -1 ){
outStream.write(buffer, 0, len);
}
byte[] data = outStream.toByteArray();

Bitmap btm = BitmapFactory.decodeByteArray(data, 0, data.length);

}catch( Exception ex )
{
ex.printStackTrace();
}finally
{
if( null != conn )
{
conn.disconnect();
}
if( null != in )
{
try {
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if( null != outStream )
{
try {
outStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
};
}
}
原创粉丝点击