Android之异步任务加载网络数据

本文详细介绍了Android中AsyncTask的使用,包括其执行流程、方法调用顺序以及在实际项目中的应用。通过对比Thread,强调了AsyncTask在处理网络数据加载的优势,如线程池、UI线程交互等。并分享了在彩票项目中如何利用AsyncTask获取销售信息,包括网络判断、数据处理和UI更新的完整流程。
摘要由CSDN通过智能技术生成

对异步任务加载网络数据的回答:

在Android中提供了一个异步任务的类AsyncTask,简单来说,这个类中的任务是运行在后台线程中的,并可以将结果放到UI线程中进行处理,它定义了三种泛型,分别是Params、Progress和Result,分别表示请求的参数、任务的进度和获得的结果数据。

 

我之前总结了使用异步任务的原因有三点:

1)是因为AsyncTask使用了线程池技术,而且其中的方法很容易实现调用

2)是因为AsyncTask可以调用相关的方法,在开启子线程前和后,进行界面的更新

3)是因为一旦任务多了,不用每次都new新的线程,可以直接使用

 

如果我们查看官方文档,异步任务中的方法的执行顺序是这样的:

onPreExecute()【执行前开启】--- > doInBackground() --- > onProgressUpdate() --- > onPostExecute()

具体的来说,当一个异步任务开启后:

首先会调用onPreExecute()方法:

这个方法在异步执行时立即被UI线程调用,这一步通常用来设置任务,作为任务加载的准备工作。通常会在这个方法中弹出一个提示框,提示用户加载的进度。

第二个方法doInBackground():

这个方法是执行在子线程中的。在onPreExecute()执行完后,会立即开启这个方法,在方法中可以执行耗时的操作。需要将请求的参数传递进来,发送给服务器,并将获取到的数据返回,数据会传给最后一步中;这些值都将被放到主线程中,也可以不断的传递给下一步的onPr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值