首页 > 代码库 > 安卓 okhttp小结
安卓 okhttp小结
概念及原理
特性
支持同步阻塞调用和具有回调的异步调用。
OkHttp支持Android 2.3及以上版本。 对于JDK,最低要求是1.7。
Request是OkHttp中访问的请求,Builder是辅助类。Response即OkHttp中的响应。
代码部分
项目中使用EventBus:
S1.添加jar包或依赖
compile ‘com.squareup.okhttp3:okhttp:3.8.0‘
compile ‘com.squareup.okio:okio:1.13.0‘
S2.创建POST/GET请求:
S3.代码混淆
-dontwarn okio.**
-dontwarn javax.annotation.Nullable
-dontwarn javax.annotation.ParametersAreNonnullByDefault
OKHTTP主要方法:
// 创建请求 MediaType MEDIA_TYPE = MediaType.parse("application/json; charset=utf-8"); Request request = new Request.Builder() .post(RequestBody.create(MEDIA_TYPE, json)) .url(url) .build(); // 创建响应 Response response = client.newCall(request).execute(); // sync Response response = client.newCall(request).enqueue(new Callback() { // async @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { } }); // 获取结果 if (response.isSuccessful()) { response.body().string(); } // 超时设置 // 提交JSON数据示例 public static void postJsonExamAsync() { String url = "http:localhost:8080/login/commitUserInfo"; String postJson = "{}"; RequestBody body = RequestBody.create(MEDIA_TYPE, postJson); Request request = new Request.Builder() .url(url) .post(body) .build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { e.printStackTrace(); } @Override public void onResponse(Call call, Response response) throws IOException { if (!response.isSuccessful()) throw new IOException("Unexpected code " + response); Headers responseHeaders = response.headers(); for (int i = 0; i < responseHeaders.size(); i++) { System.out.println(responseHeaders.name(i) + ": " + responseHeaders.value(i)); } System.out.println(response.body().string()); } }); }
参考文档:
Github-okhttp link2
Github文档-okio
Android OkHttp完全解析 是时候来了解OkHttp了
OkHttp使用教程
安卓 okhttp小结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。