一、什么是AsyncTask?
英文直译过来是异步任务,是android中专门用来处理耗时操作的一个帮助类。
二、为什么要使用AsyncTask?
这个类作用其实跟handler类似,但是封装好了操作前,操作中,操作后的方法,用起来比较方便。
三、如何使用?
首先需要新建一个类来继承AsyncTask类,实现其中的几个重要方法。
class MyAsyncTask extends AsyncTask<String, Integer, String> {
@Override
protected String doInBackground(String... strings) {
//此处处理耗时操作,传入可变长String数组,传出String参数
//此方法可传递Integer参数给onProgressUpdate ()方法
publishProgress(progress);
}
@Override
protected void onPreExecute() {
super.onPreExecute();
//此处处理耗时操作前的准备工作
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
//此处处理耗时操作后的界面更新或提示,传入前面的String参数
}
@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
//此处处理操作中的界面更新或提示,接受前面传入的Integer参数
}
}
其中三个参数分别为,传入参数,操作中传递参数,操作后传出参数。
实现方法后可使用
new MyAsyncTask().excute(url);
调用该方法