最近学到用AsyncTask来处理有关网络的操作。虽然代码看上去不是很复杂,但仍有很多地方有疑惑。所以研读了一下API文档,在这里把我学到的和练习的代码展示出来。如有错误,欢迎指出!

一、关于AsyncTask的<Params, Progress, Result>
在创建AsyncTask的子类时,必须给出这三个具体的类型值,尖括号是泛型的意思。我不太理解API文档的解释,但往下看
doInBackground(Params...)
publishProgress(Progress...)
onProgressUpdate(Progress...)
onPostExecute(Result)
可以知道它们都是传递给谁的,而圆括号里有...的参数可以理解为数组。
二、AsyncTask的四个步骤
1、onPreExecute():这个方法是在任务开始前进行的,它由UI线程(主线程)调用,即可以进行UI操作。在最后,我会给出Log的打印信息。
2、doInBackground(Params...):这个方法是onPreExecute()完成后,立即在后台进行的,用以执行任务,并将Result传给onPostExecute(Result)。另外,在此期间,可以调用publishProgress(Progress...),这个方法能够传递一些数据给onProgressUpdate(Progress...)。
3、onProgressUpdate(Progress...):在publishProgress(Progress...)被调用之后,此方法会由UI线程调用。所以利用publishProgress(Progress...)和onProgressUpdate(Progress...)就能够做出在加载或读取网络数据时的等待或缓冲的UI效果。我在最后给出的效果图有类似的功能。
4、onPostExecute(Result):在doInBackground(Params...)完成后,由UI线程调用,在这里处理Result。
三、我练习时写的代码
这是启动任务,这里的execute(),可以传进多个参数,如execute(url1,url2,url3)
然后在doInBackground中就可以处理多个任务,publishProgress和onProgressUpdate也类似
四、最终效果图
在确认前,该TextView是空的,在确认后,获取的信息加载出来前,该TextView是显示Loading的,可能gif做得不好,看上去有点怪。另外,在正常情况下,Loading是一闪而过的。我这里是断点调试时,截图做的。
最后是上面介绍的四个方法的Log信息
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# AsyncTask
# Android中通过AsyncTask类来制作炫酷进度条的实例教程
# 详解Android App中的AsyncTask异步任务执行方式
# Android AsyncTask完全解析 带你从源码的角度彻底理解
# Android AsyncTask源码分析
# Android使用AsyncTask实现多线程下载的方法
# Android中AsyncTask异步任务使用详细实例(一)
# Android通过Handler与AsyncTask两种方式动态更新ListView(附源码)
# android异步任务设计思详解(AsyncTask)
# android教程之使用asynctask在后台运行耗时任务
# Android开发笔记之:AsyncTask的应用详解
# Android开发笔记之:深入理解多线程AsyncTask
# 在这里
# 多个
# 都是
# 这是
# 加载
# 文档
# 是在
# 完成后
# 我在
# 我会
# 子类
# 在此
# 有很多
# 如有
# 把我
# 并将
# 做得
# 而过
# 谁的
# 这三个
相关文章:
如何在IIS中新建站点并配置端口与IP地址?
家庭服务器如何搭建个人网站?
网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?
单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
简历在线制作网站免费,免费下载个人简历的网站是哪些?
建站主机是什么?如何选择适合的建站主机?
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
如何零基础开发自助建站系统?完整教程解析
如何用好域名打造高点击率的自主建站?
已有域名和空间,如何快速搭建网站?
建站之星如何优化SEO以实现高效排名?
深圳网站制作平台,深圳市做网站好的公司有哪些?
如何通过PHP快速构建高效问答网站功能?
如何用PHP快速搭建高效网站?分步指南
Python文件管理规范_工程实践说明【指导】
建站主机解析:虚拟主机配置与服务器选择指南
如何用PHP工具快速搭建高效网站?
高防服务器租用指南:配置选择与快速部署攻略
微信h5制作网站有哪些,免费微信H5页面制作工具?
Python lxml的etree和ElementTree有什么区别
如何用PHP快速搭建CMS系统?
代购小票制作网站有哪些,购物小票的简要说明?
如何规划企业建站流程的关键步骤?
潍坊网站制作公司有哪些,潍坊哪家招聘网站好?
名字制作网站免费,所有小说网站的名字?
电商网站制作公司有哪些,1688网是什么意思?
如何通过虚拟主机快速搭建个人网站?
如何构建满足综合性能需求的优质建站方案?
临沂网站制作公司有哪些,临沂第四中学官网?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
5种Android数据存储方式汇总
佛山企业网站制作公司有哪些,沟通100网上服务官网?
建站之星2.7模板快速切换与批量管理功能操作指南
如何在景安服务器上快速搭建个人网站?
用v-html解决Vue.js渲染中html标签不被解析的问题
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
清除minerd进程的简单方法
深圳网站制作培训,深圳哪些招聘网站比较好?
网站制作壁纸教程视频,电脑壁纸网站?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
如何在腾讯云服务器上快速搭建个人网站?
建站之星ASP如何实现CMS高效搭建与安全管理?
宝塔Windows建站如何避免显示默认IIS页面?
如何通过FTP空间快速搭建安全高效网站?
C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)
建站之星CMS五站合一模板配置与SEO优化指南
建站VPS推荐:2025年高性能服务器配置指南
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
导航网站建站方案与优化指南:一站式高效搭建技巧解析
*请认真填写需求信息,我们会在24小时内与您取得联系。