Android:AsyncTaskUtil 异步简化操作工具类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/HMYANG314/article/details/50948703

常常会用到AsyncTask 类来实现异步操作,如果每次都 通过 new AsyncTask 来使用,有时略显麻烦。我这里简单的将其封装为一个简化操作工具:


1、AsyncCallBack

public abstract class AsyncCallBack {

    public void onPreExecute() {
    }

    public abstract void doInBackground();

    public abstract void onPostExecute();
}


2、AsyncTaskUtil

public class AsyncTaskUtil {

    public static void doAsync(final AsyncCallBack callBack) {
        if (callBack == null) {
            return;
        }
        new AsyncTask<Void, Void, Void>() {

            @Override
            protected void onPreExecute() {
                callBack.onPreExecute();
            }

            @Override
            protected Void doInBackground(Void... params) {
                callBack.doInBackground();
                return null;
            }

            @Override
            protected void onPostExecute(Void aVoid) {
                callBack.onPostExecute();
            }
        }.execute();
    }

}

3、使用

AsyncTaskUtil.doAsync(new AsyncCallBack() {
            
            @Override
            public void onPreExecute() {
                //操作前执行
            }

            @Override
            public void doInBackground() {
                //耗时操作
            }

            @Override
            public void onPostExecute() {
                //ui及数据处理
            }
        });


猜你喜欢

转载自blog.csdn.net/HMYANG314/article/details/50948703