Android异步下载网络图片
2015-09-25 11:28
537 查看
最近新做的一个项目,里面需要下载网络上的图片,并显示在UI界面上,学Android有个常识,就是Android中在主线程中没法直接更新UI的,要想更新UI必须另外开启一个线程来实现,当开启的线程完成图片下载的任务后,来去通知主线程去更新UI,当然这就涉及到Handler这个机制,嗯,背景大致就是这样。来简单的理一下思路:
1.主线程中启动一个异步线程AsyncTask来下载图片,一般耗时操作或与网络交互的都要在异步线程中执行。
2.图片下载完成后,来去通知主线程去更新UI。
3.主线程收到消息后更新UI,完成图片的显示。
涉及到基本的知识点有:
1.HTTP访问网络的方式之一:HttpURLConnection,通过URL来创建URL对象,返回URLConnection对象,设置连接超时请求方式等一系列操作,具体可参考
http://blog.sina.com.cn/s/blog_87216a0001014sm7.html。
2.AsyncTask异步任务:具体用法可参考资料http://blog.csdn.net/liuhe688/article/details/6532519。
3.Handler机制:处理子线程更新UI线程控件问题,参考资料http://www.open-open.com/lib/view/open1338942421672.html。
好,那么下面第一步就是在主线程中启动一个异步线程:
handler
1.主线程中启动一个异步线程AsyncTask来下载图片,一般耗时操作或与网络交互的都要在异步线程中执行。
2.图片下载完成后,来去通知主线程去更新UI。
3.主线程收到消息后更新UI,完成图片的显示。
涉及到基本的知识点有:
1.HTTP访问网络的方式之一:HttpURLConnection,通过URL来创建URL对象,返回URLConnection对象,设置连接超时请求方式等一系列操作,具体可参考
http://blog.sina.com.cn/s/blog_87216a0001014sm7.html。
2.AsyncTask异步任务:具体用法可参考资料http://blog.csdn.net/liuhe688/article/details/6532519。
3.Handler机制:处理子线程更新UI线程控件问题,参考资料http://www.open-open.com/lib/view/open1338942421672.html。
好,那么下面第一步就是在主线程中启动一个异步线程:
public Handler handler=new Handler() { public void handleMessage(android.os.Message msg) { switch (msg.what) { case 1: picUrl.setImageBitmap(bitmap); break; default: break; } }; };
handler
相关文章推荐
- HTTP Status 404 - /project/deleteProjectReback/18
- hdu5445 || 2015长春网络赛1009题 多重背包问题
- PRML 阅读笔记之神经网络(一)
- iOS 网络请求 重要
- iOS 网络操作与AFNetworking
- 黑马程序员学习(十四) java网络编程
- curl http_code状态码 含义
- 让 http 2来得更猛烈些吧
- 有啊当年之败 恰恰是流量为王的哀伤
- tcpdump+wireshark分析数据笔记(1)
- Cookie设置HttpOnly,Secure,Expire属性
- Introduction to neural network —— 该“神经网络” 下拉“祭坛”
- 【iOS】网络操作与AFNetworking
- HTTPS 及加密信息全解析
- tcp pcap重放
- 简单的传统的阻塞的httpclient
- Android通过tcpdump抓包
- (经验分享)如何解决:System.Web.HttpException: 请求在此上下文中不可用
- 工作备忘-Xcode7禁用了明码的HTTP请求
- Datasnap http用户验证