Android下载图片显示问题
2014-10-19 22:06
330 查看
============问题描述============
我用下面的代码从服务器端下载了图片,运行在新开的线程中
可是image并没有显示出来该bitmap,这是为什么。明明已经显示下载好了,图片在135K,也不大啊。怎么回事,纠结一天了。
============解决方案1============
因为你执行image.setImageBitmap(bm);时图片并没有下载好,你应该在下载好后给主线程发消息,通知主线程显示图片。
============解决方案2============
用handler更新主线程图片,或者用asynctask这个异步下载图片
我用下面的代码从服务器端下载了图片,运行在新开的线程中
logcat里有输出: before bm=null 和 after bm = android.graphics.Bitmap@40d20270 然后我就在主线程里给image设置Bitmapimage.setImageBitmap(bm);
downloadBitmap()方法如下:
/*
* 从指定url下载图片
*/
public static Bitmap downlodBitmap(String url) {
URL myFileUrl = null;
Bitmap bitmap = null;
try {
myFileUrl = new URL(url);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
HttpURLConnection conn = (HttpURLConnection) myFileUrl
.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
bitmap = BitmapFactory.decodeStream(is);
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
可是image并没有显示出来该bitmap,这是为什么。明明已经显示下载好了,图片在135K,也不大啊。怎么回事,纠结一天了。
============解决方案1============
因为你执行image.setImageBitmap(bm);时图片并没有下载好,你应该在下载好后给主线程发消息,通知主线程显示图片。
============解决方案2============
用handler更新主线程图片,或者用asynctask这个异步下载图片
相关文章推荐
- android问题:从list集合中循环读取图片地址,使用异步下载,利用baseAdapter怎样显示到listView中
- Android下载图片显示问题
- android 下载 ios上传图片的角度显示问题
- Android显示从网络下载图片偏小的问题
- 下载文件会显示loading.gif图片,下载完毕图片不消失问题解决
- 关于下载xbmc后打开Android 源码时的一个思考问题?兼各平台安装xbmc 的中文显示
- 【Android】GridView显示大量图片缓存问题(一)
- android ImageView 异步下载显示图片
- Android浏览器显示大分辨率图片的问题
- 完美解决 android 网络下载图片 outofmemery 问题!
- strusts2文件上传下载,以及二进制图片显示问题
- 关于图片资源在android2.1/2.2/2.3下无法显示的问题以及解决方法
- android 针对于GridView中的getView方法的bug,使用本地缓存来处理图片显示的问题
- 解决Android源码编译后网页中无法正确显示GIF图片的问题
- android 下载图片保存在sdcard并显示可拖动缩放
- 下载并显示网上的图片之二(假如是 GIF 图片) - 回复 "fancy" 的问题
- Android 下载网络图片注意的问题
- 远程图片下载不能显示的问题
- android有进度条的下载图片并且显示图片
- android ListView常见问题解决方法(滚动背景变黑,去除滑动时阴影,拖动时Item图片不显示)