java 回调的 基本使用场合 和 讲解 以及 HttpUtil逻辑封装

回调 逻辑图

java 回调的 基本使用场合 和 讲解 以及 HttpUtil逻辑封装_第1张图片

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, "请求失败: ");
            }
        });
    }

你可能感兴趣的:(Android)