引入依赖

compile 'com.squareup.okhttp3:okhttp:3.9.0'

OkHttpUtils

public class OkHttpUtils {    private static final OkHttpClient CLIENT = new OkHttpClient();    /**     * get请求.     * @param url     * @param callback     * */    public static void get(String url, OkHttpCallback callback) {        callback.url = url;        Request request = new Request.Builder().url(url).build();        CLIENT.newCall(request).enqueue(callback);    }    public static final MediaType JSON            = MediaType.parse("application/json; charset=utf-8");    /**     * post请求.     * */    public static void post(String url, String json, OkHttpCallback callback) {        callback.url = url;        RequestBody body = RequestBody.create(JSON, json);        Request request = new Request.Builder().url(url).post(body).build();        CLIENT.newCall(request).enqueue(callback);    }    /**     *     * */    public static void downFile(String url,final String saveDir, OkHttpCallback callback) {        callback.url = url;        Request request = new Request.Builder().url(url).build();        CLIENT.newCall(request).enqueue(callback);    }}

OkHttpCallback

public class OkHttpCallback implements Callback {    private final String TAG = OkHttpCallback.class.getSimpleName();    public String url;    public String result;    @Override    public void onResponse(Call call, Response response) throws IOException {        Log.d(TAG, "url: " + url);        result = response.body().string().toString();        Log.d(TAG, "请求成功: " + result);        onFinish("success", result);    }    @Override    public void onFailure(Call call, IOException e) {        Log.d(TAG, "url: " + url);        Log.d(TAG, "请求失败:" + e.toString());        onFinish("failure", e.toString());    }    public void onFinish(String status, String msg) {        Log.d(TAG, "url: " + url + " status:" + status);    }}

调用示例

OkHttpUtils.get(url, new OkHttpCallback(){    @Override    public void onResponse(Call call, Response response) throws IOException {        super.onResponse(call, response);        Logger.i(result);    }    @Override    public void onFailure(Call call, IOException e) {        super.onFailure(call, e);        Logger.i(e.getMessage());    }    @Override    public void onFinish(String status, String msg) {        super.onFinish(status, msg);    }});

更多相关文章

  1. Android(安卓)调用Gmail发送邮件
  2. android
  3. Android布局优化:ViewStub标签实现延迟加载(源码解析原理)
  4. Android(安卓)创建线程执行任务
  5. Android之SQLLite
  6. Android中一个APP启动另一个APP并传递参数
  7. android 线程之创建一个子线程,并在UI线程中进行交互
  8. Android(安卓)P 限制级API调用弹窗关闭
  9. Android(安卓):java.lang.RuntimeException: takePicture failed

随机推荐

  1. 这个可视化分析库,让你轻松玩转数据科学!
  2. k8s交付服务总结
  3. Android(安卓)蓝牙开发:第一日
  4. TFTP不能传输大于32MB的文件?
  5. 年轻人不讲武德,竟用Python让马老师表演闪
  6. 赛博朋克这么火,如果与Python结合,能有多酷
  7. [转]Android(安卓)设计思想
  8. 再见,可视化!你好,Pandas!
  9. 2021来了,用Python换一张头像到新年!
  10. Citrix相关问题