回调 逻辑图
HttpCallbackListener 接口,也就是 耗时操作结束后返回给 调用方 的通道
public interface HttpCallbackListener {
void onFinished(String response);
void onError(Exception e);
}
HttpUtil 耗时操作在这里进行
public class HttpUtil {
public static void sendHttpRequest(String address, final HttpCallbackListener callbackListener)
{
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(5000);
callbackListener.onFinished("请求完成");
Thread.sleep(5000);
callbackListener.onError(new Exception());
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
}
}
MainActivity.java 调用方
public void callbackTest(View view) {
HttpUtil.sendHttpRequest("http://www.baidu.com", new HttpCallbackListener() {
@Override
public void onFinished(String response) {
Log.i(TAG, "请求成功: "+response); // 打印结果
}
@Override
public void onError(Exception e) {
Log.i(TAG, "请求失败: ");
}
});
}