讲另一种Android多线程技术——AsyncTask封装,这个可以说是把Handler进一步封
装,条理更加清晰,同样地,使用起来又稍微复杂一些。
附图:
在new的时候,AsyncTask类中有四个方法:
onPreExecute()——>doInBackground()——>onProgressUpdate()——>
onPostExecute()。
分别对应着
准备前的资源工作——>耗时操作(子线程)——>更新过程进度——>处理耗时操作
结束后的工作。
只有doinbackground方法是在子线程中进行的,其余都是UI线程,可以直接操作界
面。
如果需要更新进度,需要在doinbackground方法内调用publishProgress将进度发送给
onProgressUpdate。
我们来用asyncTask做上一次倒计时的同样项目,但是是用dialog来倒计时。
mainactivity:
package com.example.asynctasktest;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import<