- 1
- 0
- 约1.02万字
- 约 4页
- 2026-02-06 发布于北京
- 举报
对异步任务加载网络数据的回答:
在Android中了一个异步任务的类AsyncTask,简单来说,这个类中的任务是运行
在线的,并可以将结果放到UI线进行处理,它定义了三种泛型,分别是Params、
Progress和Result,分别表示请求的参数、任务的进度和获得的结果数据。
我之前总结了使用异步任务的有:
1)是因为AsyncTask使用了线程池技术,而且其中的方法很容易实现调用
2)是因为AsyncTask可以调用相关的方法,在开启子线程前和后,进行界面的更新
3)是因为一旦任务多了,不用每次都new新的线程,可以直接使用
如果我们查看文档,异步任务中的方法的执行顺序是这样的:
onPreExecute()【执行前开启】doInBackground()onProgressUpdate()
onPostExecute()
具体的来说,当一个异步任务开启后:
首先会调用onPreExecute()方法:
这个方法在异步执行时立即被UI线程调用,这一步通常用来设置任务,作为任务加
载的准备工作。通常会在这个方法出一个提示框,提示用户加载的进度。
第二个方法doInBackground():
这个方法是执行在子线的。在onPreExecute()执行完后,会立即开启这个方法,在
方法中可以执行耗时的操作。需要将请求的参数传递进来,发送给服务器,并将获取到的数
据返回,数据会传给最后一步中;这些值都将被放到主线也可以不断的传递给下一步
的onProgressUpdate()中进行更新。可以通过不断调用publishProgress(),将数据(或进度)
不断传递给onProgressUpdate()方法,进行不断更新界面。
3)、onProgressUpdate():
这个方法是执行在主线的。publishProgress()在被调用后,才开启的这个方法,它
在何时被开启是不确定的,这个方法用来在操作仍在执行的时候在用户界面显示不
同形式的进度。比如它可以推动进度条进度或者在文本里显示log信息。
4)、onPostExecute():
这个方法是执行在主线的。当的子线程执行完毕后才调用此方法。
doInBackground()返回的结果会作为参数被传递过来。可以在这个方法中进行更新界面的操
作。
最后创建AsyncTask自定义的类,调用execute()方法开启异步任务。
结合项目:
我们在使用异步任务的时候,根据这些原理和步骤就可以了,我们在做项目时会经常使用
到异步任务,比如说我在做的这个项目中,有一个部分,是中的销售期号和截止
时间,我这里使用异步获取这个彩种的当前的销售信息.
我在实现一个功能的时候总会先想到三个问题,我们要实现什么?我们要怎么实现?我们
为什么这样实现?
首先我们要实现什么呢?就是从服务器上获取到当前的销售信息.
那么我们要怎么实现呢?首先我们得在这个类中增加一个获取当前销售信息的
方法,这个方到服务器中去获取数据.然后我先想到的是在这个方法中开启一个线程,在
这个线实现网络的操作,由于我们做了网络的操作,所以在开启这个线程的
时候还要判断一下网络。添加判断网络的代码,我又发现,每次网络的时候,
我们都要实现这几行代码。解决这个问题,我是在getCurrentIssueInfo中,只保留了new
MyThread().start(),而把判断网络这一步放到MyThread中的start()中去.这时候,当在
getCurrentIssueInfo中start的时候,会调用新线程的start()方法,这里的super.start()就
是方法中的start,如果联络连接好则执行这个start,然后调用run方法,执行网络的
操作;否则,就弹出没有网络的提示信息。
这是实现这个功
您可能关注的文档
- 中考英语复习:阅读理解训练.pdf
- 文言知识梳理:鱼所也.pdf
- 基因自由组合定律原理与应用.pdf
- 概念与分类及其在关系中作用.pdf
- 2026长城汽车秋招补录招聘备考题库附参考答案详解(典型题).docx
- 2026长城汽车秋招补录招聘备考题库附参考答案详解(b卷).docx
- 2026长城汽车秋招补录招聘备考题库附参考答案详解(a卷).docx
- 2026年安全工程师职业资格认证题库解析.docx
- 2026中级会计三科高频题库100道附参考答案【研优卷】.docx
- 2026中级会计三科高频题库100道完整.docx
- 2026长城汽车秋招补录招聘备考题库带答案详解(典型题).docx
- 2026长城汽车秋招补录招聘备考题库带答案详解(实用).docx
- 财务部会计面试题及标准答案解析.docx
- 2026长城汽车秋招补录招聘备考题库含答案详解(预热题).docx
- 2026长城汽车秋招补录招聘备考题库含答案详解(达标题).docx
- 2026长城汽车秋招补录招聘备考题库带答案详解(突破训练).docx
- 2026长城汽车秋招补录招聘备考题库带答案详解(b卷).docx
- 2026长城汽车秋招补录招聘备考题库含答案详解(综合卷).docx
- 2026长城汽车秋招补录招聘备考题库含答案详解(培优).docx
- 安徽碳鑫科技有限公司招聘笔试题库2026.pdf
原创力文档

文档评论(0)