欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

异步任务类AsynTask的扩展,异步任务asyntask,使客户端执行异步任务的工

来源: javaer 分享于  点击 49850 次 点评:193

异步任务类AsynTask的扩展,异步任务asyntask,使客户端执行异步任务的工


使客户端执行异步任务的工作更简捷,方便。

[Java]代码

package cn.jd3g.utils;import android.os.AsyncTask;/** * 自定义异步执行任务类 *  * @author xfzhang *  */public class ShopAsyncTask extends AsyncTask<Void, Void, Void> {// Handler+线程池    private Runnable preExecuteListener;//后台线程执行之前的回调监听    private Runnable PostExecuteListener;//后台线程执行完成之后的回调监听    private Runnable doInBackgroudListener;//后台线程的回调监听    public ShopAsyncTask(Runnable preExecuteListener, Runnable PostExecuteListener,            Runnable doInBackgroudListener) {        this.PostExecuteListener = PostExecuteListener;        this.preExecuteListener = preExecuteListener;        this.doInBackgroudListener = doInBackgroudListener;    }    @Override    protected void onPreExecute() {        if (preExecuteListener != null)            preExecuteListener.run();    }    @Override    protected Void doInBackground(Void... params) {        if (doInBackgroudListener != null)            doInBackgroudListener.run();        return null;    }    @Override    protected void onPostExecute(Void result) {        if (PostExecuteListener != null)            PostExecuteListener.run();    }}

[Java]代码

使用工作类:new ShopAsyncTask(new Runnable() {            @Override            public void run() {                // 显示提示视图等准备工作            }        }, new Runnable() {            @Override            public void run() {                // 更新界面            }        }, new Runnable() {            @Override            public void run() {                // 分线程长时间的业务工作            }        }).execute();
相关栏目:

用户点评