Anroid异步消息处理(一)

来源:互联网 发布:淘宝网裙子 编辑:程序博客网 时间:2024/06/07 02:41

Android异步消息处理之AsyncTask

1.基本用法:

AsyncTask是一个抽象类,因此我们需要有一个子类去实现它,如下:

class MyTask extends AsyncTask<Void, Integer, Boolean> {    @Override    protected Boolean doInBackground(Void... params) {        //进行耗时的任务(在子线程中执行)        return null;    }    @Override    protected void onPreExecute() {        //在开始执行任务前的准备工作(四个方法中最先调用,且运行在主线程中)    }    @Override    protected void onPostExecute(Boolean aBoolean) {        //接收来自doInBackground执行完返回值,并根据返回值做一些相应的操作(运行在主线程中)    }    @Override    protected void onProgressUpdate(Integer... values) {        //当在doInBackground中执行publishProgress(Integer in)方法时就会调用该方法,并把参数传到该方法中        //这样就可以利用publishProgress()方法在子线程和主线程之间来回切换了    }}

有了子类之后就可以启动一个任务了:

new MyTask().execute();

AsyncTask<Void,Void,Void>三个泛型的说明,第一个泛型是传入到doInBackground中参数的类型,第二个泛型指定了onProgressUpdate中参数的类型,第三个泛型指定了doInBackground的返回值类型以及onPostExecute方法的参数类型

1 0
原创粉丝点击