回复于: 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客户端下载图片的方法相关推荐

  1. Android 圆形/圆角图片的方法

    Android 圆形/圆角图片的方法 眼下网上有非常多圆角图片的实例,Github上也有一些成熟的项目.之前做项目,为了稳定高效都是选用Github上的项目直接用.但这样的结束也是Android开发必 ...

  2. php curl 下载图片 花,PHP curl下载图片的方法

    PHP curl下载图片的方法 $images = [ 'http://wx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTKPkia3rxjuBoSQ1sUSmqYXDazibuI ...

  3. python requests下载图片_Python使用urllib库、requests库下载图片的方法比较

    我们知道,使用Python制作一个爬虫程序,requests库是一个不错的选择,requests发送网络请求非常简单,比较使用urllib库,使用requests库可以大大减少代码量,它还可以定制请求 ...

  4. android多线程下载图片

    很多时候我们需要在Android设备上下载远程服务器上的图片进行显示,今天Android123整理出两种比较好的方法来实现远程图片的下载.    方法一.直接通过Android提供的Http类访问远程 ...

  5. android 图片轮播组件,Android客户端实现图片轮播控件

    本文和大家一起写一个Android图片轮播控件,供大家参考,具体内容如下 1. 轮播控件的组成部分 我们以知乎日报Android客户端的轮播控件为例,分析一下轮播控件的主要组成: 首先我们要有用来显示 ...

  6. Android框架——下载图片框架Fresco

    版权声明:本文为博主原创文章,未经博主允许不得转载.转载注明出处:Sunzxyong 流行的网络框架 目前流行的网络图片框架:  Picasso.Universal Image Loader.Voll ...

  7. Android实现下载图片并保存到SD卡中

    1.java代码,下载图片的主程序 先实现显示图片,然后点击下载图片按钮,执行下载功能. 从网络上取得的图片,生成Bitmap时有两种方法,一种是先转换为byte[],再生成bitmap:一种是直接用 ...

  8. android Bimtap 各种图片处理方法、图片特效

    原帖地址:http://gundumw100.iteye.com/blog/849729 Java代码   //压缩图片大小 public static Bitmap compressImage(Bi ...

  9. python批量下载文件教程_Python抓包菜鸟教程:批量下载图片的方法,电脑和手机都能用...

    笔者看上了一组图集,然后准备一张一张下载时,瞄了一眼,这组图集还有100+,好吧,我酸了. 笔者就是试试工具,你们别像我这样用,这么好的工具,做自媒体,那绝对了 那如何批量下载几百张图片呢?教程开始了 ...

最新文章

  1. 【蓝桥java】进制与整除之尼姆堆
  2. java简单的ID生成器
  3. php 语句插入失败,php – Mysqli准备语句插入不插入
  4. ubifs linux,ubifs使用方法
  5. 微信的一个隐藏功能,我身边绝大多数人都不知道,其实很实用
  6. PIX的AAA认证配置
  7. Linux(14)-正则表达式
  8. 音视频开发(24)---H.264视频编码基本知识
  9. 分布式文件系统-HDFS(   HDFS全称是Hadoop Distributed System)
  10. java时间戳格式_Java时间戳转化为今天、昨天、明天(字符串格式)
  11. 5个python爬虫教材,让小白也有爬虫可写,含视频教程!
  12. 景区分时实名预约系统
  13. A/D转换器主要性能参数
  14. 计算机应用精华系统性整理
  15. 读博太孤独?一个人的苦行!
  16. Jmeter常用快捷键
  17. index data
  18. The Willpower Instinct
  19. 微信小程序 php 手机授权登录
  20. 江西用计算机写作文说课稿,信息技术说课稿范文(精选5篇)

热门文章

  1. Hive+LDAP+Sentry
  2. 张开双臂迎接“云时代“的到来
  3. RadonDB - 部署教程
  4. Spring Boot Initilizr - 使用Spring Boot CLI
  5. Primefaces,Hibernate和SpringRoo集成
  6. Windows11 Docker镜像存储路径更改(非C盘路径)
  7. 【Java】反转数组元素
  8. 【Python】解决No name 'QWidget' in module 'PyQt5.QtWidgets'
  9. Visual Studio 2017版本15.9现在可用
  10. jmespath查找JSON的工具