首先继承至AsyncTask来重写一个异步工作:
//Params:Void 执行AsyncTask时需要传入的参数
//Progress:Integer 后台任务执行时,需要在界面上显示当前进度,则使用其作为返回类型
//Result:Boolean 当任务执行完毕后,需要对结果进行返回,则使用这里作为返回类型
public class TestAsyncTask extends AsyncTask<Void, Integer, Boolean> {
//在后台任务开始之前调用,比如进行界面上的初始化操作
@Override
protected void onPreExecute() {
super.onPreExecute();
}
//在子进程中运行DoInBackground中的代码,return返回结果
//如果在子进程进行中需要更改UI,那么我们需要在该函数中调用publishProgress方法
@Override
protected Boolean doInBackground(Void... voids) {
//publishProgress(Progress: ...);
return null;
}
//publishProgress方法被调用后会调用该方法,在此进行UI操作。
@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
}
//后台任务执行完毕,通过return返回之后,该方法被调用。
@Override
protected void onPostExecute(Boolean aBoolean) {
super.onPostExecute(aBoolean);
}
}
之后需要做的就是在页面中编写一句代码进行启动:
new TestAsyncTask().execute();