【摘要】:用户可以使用官方提供的AsyncTask这个封装好的轻量级异步类,只需几十行的代码即可完成异步操作,而且进度可控。相比起Handler和AsyncTask显得更加简单、快捷。此外,实际异步用得最多的地方是网络操作、图片加载、数据传输等,AsyncTask可以满足初学者的常规需求,编写小应用程序。构建AsyncTask子类的参数,见图4.27。)这几个方法;④ 该Task只能被执行一次,否则多次调用时将会出现异常。
1.使用AsyncTask的原因
用户可以用上述两种方法来完成异步操作,假如要异步操作比较多先用new Thread()然后用上述方法通知UI更新,就显得较为烦琐了。用户可以使用官方提供的AsyncTask这个封装好的轻量级异步类,只需几十行的代码即可完成异步操作,而且进度可控。相比起Handler和AsyncTask显得更加简单、快捷。此外,实际异步用得最多的地方是网络操作、图片加载、数据传输等,AsyncTask可以满足初学者的常规需求,编写小应用程序。
2.AsyncTask的基本结构
AsyncTask是一个抽象类,一般可先定义一个类继承AsyncTask,然后重写相关方法。
(1)构建AsyncTask子类的参数,见图4.27。
图4.27
(2)相关方法与执行流程见图4.28,深色的是一定要有的,浅色的可以没有。(www.xing528.com)
图4.28
(3)注意事项。
① Task的实例必须在UI thread中创建;
② execute方法必须在UI hread中调用;
③ 不要手动的调用onPreExecute(),onPostExecute(Result),doInBackground(Params…),onProgressUpdate(Progress…)这几个方法;
④ 该Task只能被执行一次,否则多次调用时将会出现异常。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。