AsyncTask 主要用来更新 UI 线程,比较耗时的操作可以在 AsyncTask 中使用。
AsyncTask 是个抽象类,使用时需要继承这个类,然后调用 execute()方法。注
意继承时需要设定三个泛型 Params,Progress 和 Result 的类型,如
AsyncTask<Void,Inetger,Void>:
Params 是指调用 execute()方法时传入的参数类型和 doInBackgound()的参
数类型
Progress 是指更新进度时传递的参数类型,即 publishProgress()和
onProgressUpdate()的参数类型
Result 是指 doInBackground()的返回值类型
上面的说明涉及到几个方法:
doInBackgound() 这个方法是继承 AsyncTask 必须要实现的,运行于后台,
耗时的操作可以在这里做
publishProgress() 更新进度,给 onProgressUpdate()传递进度参数
onProgressUpdate() 在 publishProgress()调用完被调用,更新进度
好了,看下实际的例子,了解一下怎么使用吧:
public class MyAcvity extends Acvity
{
private Buon btn;
private TextView tv;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);