package licola.demo.com.huabandemo.HttpUtils; import android.os.Handler; import android.os.Looper; import android.os.Message; /** * Created by LiCola on 2016/05/23 19:41 * 在这里我们需要通过Handler对象进行发送和处理消息。 * 于是定义了两个抽象方法sendMessage和handleMessage。 * 之后又定义了一个抽象方法onProgress来处理下载进度的显示, * 而这个onProgress则是我们需要在ui线程进行调用。 * 最后创建了一个继承自Handler的ResponseHandler内部类。 * 为了避免内存泄露我们使用static关键字。 */ public abstract class ProgressHandler { protected abstract void sendMessage(ProgressBean progressBean); protected abstract void handleMessage(Message message); protected abstract void onProgress(long progress, long total, boolean done); protected static class ResponseHandler extends Handler{ private ProgressHandler mProgressHandler; public ResponseHandler(ProgressHandler mProgressHandler, Looper looper) { super(looper); this.mProgressHandler = mProgressHandler; } @Override public void handleMessage(Message msg) { mProgressHandler.handleMessage(msg); } } }