Okhttp请求封装类
来源:互联网 发布:new balance跑鞋 知乎 编辑:程序博客网 时间:2024/06/06 09:57
/**
* 1 加网络权限
* 3 Okhttp请求封装
* 加入缓存
*/
public class MyOkHttp {
private static MyOkHttp myOkHttp = new MyOkHttp();
private OkHttpClient okHttpClient;
private Cache cache;
private long maxSize = 8 * 1024 * 1024;
private MyOkHttp() {
}
public static MyOkHttp getMyOkHttp() {
return myOkHttp;
}
//同步下get,Post
public String sendGet(String url) throws IOException {
Request request = new Request.Builder().url(url).build();
Response response = okHttpClient.newCall(request).execute();
return response.body().string();
}
//同步下Post
public String sendPost(String url, RequestBody body) throws IOException {
Request request = new Request.Builder().url(url).post(body).build();
Response response = okHttpClient.newCall(request).execute();
return response.body().string();
}
//异步的封装 GET和POST自己 预习一下缓存OkHttp如何使用缓存
public void sendAsyncGet(String url, Callback callback) {
Request request = new Request.Builder().url(url).build();
okHttpClient.newCall(request).enqueue(callback);
}
//异步的POST
public void sendAsyncPost(String url, RequestBody body, Callback callback) {
Request request = new Request.Builder().url(url).post(body).build();
okHttpClient.newCall(request).enqueue(callback);
}
//测试缓存
public String sendCacheGet(String url) throws IOException {
//要缓存数据 需要加上一个方法cacheControl
Request request = new Request.Builder().url(url).cacheControl(new CacheControl.Builder().maxStale(24 * 60 * 60, TimeUnit.SECONDS).build()).build();
Response response = okHttpClient.newCall(request).execute();
return response.body().string();
}
* 1 加网络权限
// 2 网络请求 Okhttp 依赖
compile 'com.squareup.okhttp3:okhttp:3.6.0'
* 3 Okhttp请求封装
* 加入缓存
*/
public class MyOkHttp {
private static MyOkHttp myOkHttp = new MyOkHttp();
private OkHttpClient okHttpClient;
private Cache cache;
private long maxSize = 8 * 1024 * 1024;
private MyOkHttp() {
//Environment用来管理手机SDcard内存的
File file = new File(Environment.getExternalStorageDirectory() + "/H1706A");
cache = new Cache(file, maxSize);
//OKHTTPClient两种写法 第二种就是通过构造者模式也可以使用
}
public static MyOkHttp getMyOkHttp() {
return myOkHttp;
}
//同步下get,Post
public String sendGet(String url) throws IOException {
Request request = new Request.Builder().url(url).build();
Response response = okHttpClient.newCall(request).execute();
return response.body().string();
}
//同步下Post
public String sendPost(String url, RequestBody body) throws IOException {
Request request = new Request.Builder().url(url).post(body).build();
Response response = okHttpClient.newCall(request).execute();
return response.body().string();
}
//异步的封装 GET和POST自己 预习一下缓存OkHttp如何使用缓存
public void sendAsyncGet(String url, Callback callback) {
Request request = new Request.Builder().url(url).build();
okHttpClient.newCall(request).enqueue(callback);
}
//异步的POST
public void sendAsyncPost(String url, RequestBody body, Callback callback) {
Request request = new Request.Builder().url(url).post(body).build();
okHttpClient.newCall(request).enqueue(callback);
}
//测试缓存
public String sendCacheGet(String url) throws IOException {
//要缓存数据 需要加上一个方法cacheControl
Request request = new Request.Builder().url(url).cacheControl(new CacheControl.Builder().maxStale(24 * 60 * 60, TimeUnit.SECONDS).build()).build();
Response response = okHttpClient.newCall(request).execute();
return response.body().string();
}
}
阅读全文
0 0
- Okhttp请求封装类
- OkHttp网络请求封装类
- Okhttp网络请求的封装类
- OkUrl----okhttp网络请求封装类
- okhttp 请求封装
- OKHttp网络请求封装
- okHttp网络请求二次封装
- 封装OkHttp的网络请求
- Okhttp的Get_Poast请求封装
- Android封装OkHttp网络请求
- 以OKHttp为基础封装网络请求工具类
- 网络请求封装及使用(okhttp)
- OkHttp网络请求数据的封装
- okhttp请求回调封装文章推荐
- 简单封装okHttp网络请求框架
- 封装的Http请求(HttpURLConnection和okHttp)
- Android中okhttp网络请求的封装
- OKhttp网络请求组件的封装
- Oracle 12c Windows安装、介绍及简单使用(图文)
- 数据导出到excel
- Cmake是如何工作的
- capstone训练营2017-12-21
- [论文笔记]Speed/accuracy trade-offs for modern convolutional object detectors
- Okhttp请求封装类
- laravel服务提供者与服务容器的因果关系
- TensorFlow各版本下载地址,强烈推荐
- Effective C++之七:模板与泛型编程
- 三种方法重置 mysql 数据库自增ID
- ConcurrentHashMap理解
- org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry异常的解决方法
- C++ 库研究笔记——Linux下创建文件夹
- 15分钟破解网站验证码