`

Android 下载图片的问题

 
阅读更多

转于:http://blog.163.com/yiba_suanzao/blog/static/13055737720113853723465/

 

-----------------------------------------------------------------------------------------------------------------

 

 我们在日常生活当中,都会用到手机,而手机在上网的时候,我们可以看小说,我们还可以上网听歌,上网看图片,当我们在下载图片的时候就会出现很多的问题,我们下面说的就是,用android手机下载图片的话,我们通常都会用到的方法
Java代码:
//获取connection,方法略
conn = getURLConnection(url);
is = conn.getInputStream();
//获取Bitmap的引用
Bitmap bitmap = BitmapFactory.decodeStream(is) 
复制代码
                 我们大多数人都会用这个方法来完成上网下载图片,但是大家要知道,这个方法是比较简单,但是当你的网络不是那么稳定的时候,就会出现很多的情况,比如说是:下载图片,下载完了在屏幕上不显示,要不就是下载完了,在屏幕上显示一半,出现这种情况的话,我们还得耐心的等着,这样就会浪费我们很多的时间,有时也会浪费我们的流量,因为你在屏幕上显示不出来,你就得从新下载,这样我们在一张图片就会用到双份的流量,这样你自己觉得是不是很亏呀,我们下面的方法,就会解决上述所说的这些毛病,给大家也节省了时间和流量,我们大家应该都很想看看eoe是怎么样的一个思路吧,那我们就来看看:
Java代码:
//获取长度
int length = (int) conn.getContentLength();
if (length != -1) {
byte[] imgData = new byte[length];
byte[] temp=new byte[512];
int readLen=0;
int destPos=0;
while((readLen=is.read(temp))>0){
System.arraycopy(temp, 0, imgData, destPos, readLen);
destPos+=readLen;
}
bitmap=BitmapFactory.decodeByteArray(imgData, 0, imgData.length);
}
复制代码
                上面的代码写的就是我们所说的代码,在上网下载图片的时候不会出现哪些问题,我们先用了一个判断,完事以后我们在实例化两个数组。这样我们就完成了很大一部分,我们再用一个循环,在循环里面主要写上System.arraycopy(temp, 0, imgData, destPos, readLen);这句话,这句话主要是讲了就是下载的设置。这样我们就可以完成图片下载问题了,大家要记住这个方法,这个方法很管用,这个方法给我们带来了很多的方便,不会出现上述所说的那些不稳定的问题,那么我们还等什么,把上面的方法忘记吧,换用我们的方法。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics