android客户端下载图片的方法
来源:互联网 发布:黑豹乐队 知乎 编辑:程序博客网 时间:2024/04/28 22:39
回复于: 2011-02-21 22:26:06
HTTP 协议,就像下载一个图片一样。
类似于这样的代码:
URL url = new URL("http://xxx.xxx.xxx.xxx/img/xxx.gif");
URLConnection conn = url.openConnection();
InputStream is = conn.getInputStream();
图片就在这个 InputStream 中,把这个 InputStream 包装到 Bitmap 中去。
回复于: 2011-05-09 16:57:17
楼上正解。获得InputStream后利用BitmapFactory.decodeStream(InputStream is)就可以返回一个Bitmap类型了,然后ImageView.setImageBitmap(Bitmap bm)就ok了
URL url = new URL("http://xxx.xxx.xxx.xxx/img/xxx.gif");
URLConnection conn = url.openConnection();
InputStream is = conn.getInputStream();
获得InputStream后利用BitmapFactory.decodeStream(InputStream is)返回一个Bitmap类型了,然后ImageView.setImageBitmap(Bitmap bm)
这样做在虚拟机中运行一点问题也没有问题(是连接到我所部署的网络服务器上,并下载其上面的图片),但是放到真机时,却总是等待并黑屏,请问这是怎么回事,该怎么解决
#1 得分:10回复于: 2012-11-07 10:03:27
这个操作不要放在主线程去实现,要开个线程或异步任务来完成
#2 得分:15回复于: 2012-11-07 10:35:48
下载图片要耗时,会阻塞UI主线程,会出现你上面黑屏的情况。想要不黑屏,可以新开个线程去执行下载,配合Handler更新UI
#3 得分:5回复于: 2012-11-07 15:54:23
黑屏是线程卡住了,你访问网络肯定不能在主线程中做的,要另外开线程去做。否则会直接意外退出
#4 得分:5回复于: 2012-11-08 10:59:04
楼主的程序没有在4.0以上的版本中测试过吧?测试下就会发现根本不能运行.
#5 得分:10回复于: 2012-11-08 11:25:21
网络请求需要异步的,你都放在主线程里,很影响用户体验的 .
#6 得分:5回复于: 2012-11-08 11:30:47
引用 4 楼 btyh17mxy 的回复:
楼主的程序没有在4.0以上的版本中测试过吧?测试下就会发现根本不能运行.
3.0以上的就不能运行了
这个要在子线程里去做下载,然后通知Handler更新UI
#8 得分:5回复于: 2012-11-09 12:27:45
6楼正解!!主线程画UI被你的联网阻塞了,需要开启新的子线程来实现!建议 handler
#9 得分:5回复于: 2012-11-09 12:46:00
你下载的是gif图片,android播放对于gif图片,需要应用另外的包GifView来显示。
- android客户端下载图片的方法
- android-新闻客户端-离线下载的简单实现(图片部分)
- 两种android客户端传图片的方法
- 两种android客户端传图片的方法
- 谈谈Android下载图片的方法中SoftReference的使用
- SDWebImage下载图片的方法
- 客户端下载文件(zip)的方法
- Android图片批量压缩下载方法
- Android客户端apk自动检测更新自动下载自动安装的实现方法
- ios客户端学习-ios及android改变图片颜色的方法
- 控制图片不让匿名下载的方法
- .NET(C#)中图片的下载方法
- 远程下载图片到本地的方法
- php 实现图片批量下载的方法
- PHP--封装一个下载图片的方法
- 前端下载和显示图片的方法
- Python从网上下载图片的方法
- android利用handle对象的sendMessage()方法来实现网络图片的下载(附详细源码)
- 各种虚拟机体验杂谈 --- 兼发布 google chrome os (chromiumos) vmware版本
- [经典排序算法][集锦]
- 添加QQ聊天按钮
- 流数据处理学习1
- WPF中自定义控件
- android客户端下载图片的方法
- TCP实现P2P通信、TCP穿越NAT的方法、TCP打洞
- ibatis $符号#号的转义
- mfc vs2010 C++ 连接mysql等数据库
- vs2008有用快捷键
- IE 和Firefox的js兼容性总结
- HLSL语法高亮插件
- SQLserver2005图文并茂安装教程(32位系统为例)
- POI读取Excel