引入依赖

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实现图片缩放示例
  2. android布局参照示例_约束布局Android示例–第2部分
  3. Android Timer的用法示例
  4. android 传统蓝牙开发 (附示例源码)
  5. Android ApiDemos示例解析(5):App->Activity->Custom Title
  6. Android AIDL示例
  7. Android第二天--基于Snake的示例建立和运行程序

随机推荐

  1. MySQL 事务没有提交导致锁等待
  2. SQL Server基础知识之:设计和实现视图
  3. sql plus如何新建新用户
  4. mysql 配置 explicit_defaults_for_times
  5. 怎么用SQL语句实现表中的一个字段加1啊??
  6. mysql表名忽略大小写
  7. ySQL 4.*或5.0.*的升级指南
  8. 如果至少有一条记录的值为1,则返回“是”
  9. 如何将这两个查询组合成1?
  10. 如何在一个查询中组合六个独立查询。表是