异步任务类AsynTask的扩展,异步任务asyntask,使客户端执行异步任务的工
分享于 点击 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();
用户点评