2019独角兽企业重金招聘Python工程师标准>>>

private Button button;private ImageView imageView;private String image_path = "http://ww1.sinaimg.cn/mw600/a84f073ajw1dvlhrku4ppj.jpg";private final int IS_FINISH = 1;private ProgressDialog progressDialog = null;private Handler handler = new Handler(){@Overridepublic void handleMessage(android.os.Message msg) {byte[] data = (byte[])msg.obj;Bitmap bm = BitmapFactory.decodeByteArray(data, 0, data.length);imageView.setImageBitmap(bm);if (msg.what == IS_FINISH) {progressDialog.dismiss();}};};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);progressDialog = new ProgressDialog(this);progressDialog.setTitle("提示");progressDialog.setMessage("正在下载,请稍后");progressDialog.setCancelable(false);button = (Button) this.findViewById(R.id.button1);imageView = (ImageView) this.findViewById(R.id.imageview1);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {new Thread(new MyThread()).start();progressDialog.show();}});}public class MyThread implements Runnable{@Overridepublic void run() {HttpClient httpClient = new DefaultHttpClient();HttpGet httpGet = new HttpGet(image_path);HttpResponse httpResponse = null;try {httpResponse = httpClient.execute(httpGet);if (httpResponse.getStatusLine().getStatusCode() == 200) {byte[] data = EntityUtils.toByteArray(httpResponse.getEntity());Message message = Message.obtain();message.obj = data;message.what = IS_FINISH;handler.sendMessage(message);}} catch (Exception e) {e.printStackTrace();}}}

线程中执行耗时操作,handler中异步更新UI。网络获取图片、传递byte数组及byte数组转化为bitmap

转载于:https://my.oschina.net/zjchase/blog/152659

获取网络图片并异步更新UI相关推荐

  1. Android异步处理二:AsynTask介绍和使用AsyncTask异步更新UI界面

    做一下如何同构AsyncTask异步任务来更新UI界面. (1)AsyncTask的介绍 通过上图中的AsyncTask的源码结构图可以看到,主要用于重载的方法是doInBackground(),on ...

  2. android 异步刷新 方法,android应用中实现异步更新UI的方法有哪些

    android应用中实现异步更新UI的方法有哪些 发布时间:2020-12-07 17:12:00 来源:亿速云 阅读:144 作者:Leah android应用中实现异步更新UI的方法有哪些?相信很 ...

  3. 多线程异步处理:AsyncTask异步更新UI界面(详细完整总结篇)

    为什么80%的码农都做不了架构师?>>> 转载自:http://blog.csdn.net/mylzc/article/details/6772129 ,在原先的基础上整理项目并重新 ...

  4. android异步更新UI

    android下面图片更新是需要启动多个子线程来进行的,而android下面是并不是线程安全的,所以thread这里是用不了的,只能用runnable接口. 废话不多说了 直接上代码. 1.下载线程 ...

  5. winform 异步更新ui

    http://download.csdn.net/download/mingge38/9378852 转载于:https://www.cnblogs.com/muxueyuan/p/7404208.h ...

  6. C#子线程中更新ui

    本文实例总结了C#子线程更新UI控件的方法,对于桌面应用程序设计的UI界面控制来说非常有实用价值.分享给大家供大家参考之用.具体分析如下: 一般在winform C/S程序中经常会在子线程中更新控件的 ...

  7. 【转】探讨android更新UI的几种方法----不错

    原文网址:http://www.cnblogs.com/wenjiang/p/3180324.html 作为IT新手,总以为只要有时间,有精力,什么东西都能做出来.这种念头我也有过,但很快就熄灭了,因 ...

  8. 安卓更新UI的几种方法

    安卓更新UI的几种方法: 1.利用Looper更新UI界面   如果我们的代码需要随时将处理后的数据交给UI更新,那么我们想到的方法就是另开一个线程更新数据(也必须这么做,如果我们的数据更新运算量较大 ...

  9. android asyc异步获取网络图片为bitmap,异步之AsyncTask(一)

    插图.png 导读 在Android中每一个应用都拥有自己的独立进程,而一个进程可以拥有多个线程,在这些线程中有一个线程叫做MainThread(也叫UIThread).它负责显示.更新UI,与用户交 ...

最新文章

  1. 「3D视觉从入门到精通」知识星球
  2. putty连接linux as5 输入密码后连接中断
  3. Twisted 介绍 及TCP广播系统实例
  4. 使用Eclipse创建Web工程后未生成web.xml文件
  5. closewait一直不释放_夏至太阳庆典 || 巨蟹座日蚀新月大释放蜡烛魔法仪式(寻找新的幸运儿)...
  6. python批量下载网页文件夹_Python实现批量从不同的Linux服务器下载文件
  7. 【Express】—post传递参数
  8. eclipse中常见快捷键
  9. 未来PCB行业互联网+发展趋势
  10. 帆软决策报表JS实现点击超链切换TAB页
  11. C# BackgroundWorker使用
  12. 苍井空宣布结婚了,寂寞男孩的心开始寂寞~
  13. OFDM系统中的信号检测算法分类和详解
  14. 老台式电脑怎么连热点_台式电脑怎样连接wifi热点,教你一招快速连接
  15. android夜景录像模式,【图片】三种夜景拍摄手法优缺点对比,仅供参考【android吧】_百度贴吧...
  16. 十大券商:“推土机行情”再现
  17. 雅虎免费邮箱开通POP3和自动转发的方法
  18. vue数据管理系统项目说明文档
  19. GOF23设计模式-创建型模式4-原型模式
  20. 项目中引入阿里巴巴矢量库(unicode)

热门文章

  1. java 读取pdf、word、Excel文件
  2. Factstone Benchmark
  3. 响应式web设计之CSS3 Media Queries
  4. 对docker隔离性的理解
  5. Android进程与内存及内存泄露
  6. android sdk 文档导读之前传:初涉
  7. 水晶报表基础入门——4.水晶报表排序、分组技术
  8. Vmware虚拟机修改静态IP无法ping外网,以及eth0不见问题解决
  9. iOS开源项目周报1222
  10. Android Preference 的使用