- 遇到的问题 ------为什么要是红asyncTask
- 向服务器端发送一个http请求,服务器端返回给用户一些数据,然后将这些数据展示在ui当中
这时候就会出现一种现象:因为android访问服务器必须放在子线程当中,而ui的更新数据又必须放在主线程当中,所以当主线程展示数据的时候,遇到一些耗时操作 比如访问服务器,数据库查询等操作,主线程就会阻塞,用户就会看到ANR(程序未响应)。而AsyncTask很好的解决了这一类问题
- 向服务器端发送一个http请求,服务器端返回给用户一些数据,然后将这些数据展示在ui当中
- AsyncTask的使用方法
- 创建一个类MyTask继承自AsyncTask
- 实现AsyncTask的doInBackground()方法
这个方法是必须要实现的,主要是用来编写异步任务主要代码,用于执行一些耗时操在执行过程中可以调用publishProgress()来更新进度信息
onProgressUpdate()
当调用publishProgress()方法时,将进度信息展示到UI
onPreExecute()当执行execute()方法时首先会调用该方法,主要是对UI的一些信息做一些声明onPostExecute()当异步任务的操作结束时会调用该方法,用于更新UI信息execute()方法,该方法是用于开启异步任务的执行,必须在主线程当中开启。
时间: 2024-10-12 05:03:30