全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

AsyncTask的三个属性值和四个步骤

最近学到用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小时内与您取得联系。