世事洞明皆学问,人情练达即文章。这篇文章主要讲述安卓 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小结】
推荐阅读
- MediaType是application/x-www-form-urlencoded的接口测试方法
- 实现一进入APP就授权定位
- Android组件系列----ContentProvider内容提供者
- Android签名机制之---签名过程具体解释
- 首次在MI5手机上看到APP界面 ~
- Android图片下载以及缓存框架
- Android 数据存储
- adb.exe 已停止工作 - Windows 10Android Studio 2.3
- Unity与Android交互-Unity接入高德地图实现定位以及搜索周边的功能(使用Android Studio)详细操作