Retrofit+拦截器的使用+拦截器文件
来源:互联网 发布:简述对大数据的理解 编辑:程序博客网 时间:2024/05/17 06:43
//拦截器的使用
public class LoggingInterceptor implements Interceptor {
private static final String UA = "User-Agent";
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request()
.newBuilder()
.addHeader(UA, makeUA())
.build();
return chain.proceed(request);
}
private String makeUA() {
String s = Build.BRAND + "/" + Build.MODEL + "/" + Build.VERSION.RELEASE;
return Build.BRAND + "/" + Build.MODEL + "/" + Build.VERSION.RELEASE;
}
}
//
public class Model implements Imm { private Bean bean; OkHttp3Utils okhttp; @Override public void shuju(Observer<Bean> observer) { okhttp=new OkHttp3Utils(); //创建被观察者 Observable.create(new Observable.OnSubscribe<Bean>() { @Override public void call(final Subscriber<? super Bean> subscriber) { //拦截器的使用 OkHttpClient oc=new OkHttpClient.Builder().addInterceptor(new LoggingInterceptor()).build(); Retrofit retrofit = new Retrofit.Builder() .client(oc) //设置网络请求的url .baseUrl("http://tingapi.ting.baidu.com/v1/restserver/") //设置Gson .addConverterFactory(GsonConverterFactory.create()) //设置Rxjava .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .build(); //创建网络请求接口的实例 GetRequest_In jk = retrofit.create(GetRequest_In.class); //对发的请求进行封装 Call<Bean> call = jk.getCall(); //使用异步发送网络请求 call.enqueue(new retrofit2.Callback<Bean>() { //请求成功时回调 @Override public void onResponse(Call<Bean> call, Response<Bean> response) { bean = response.body(); //调用OnNext方法把值传给观察者 subscriber.onNext(bean); subscriber.onCompleted(); } //请求失败时的回调 @Override public void onFailure(Call<Bean> call, Throwable t) { } }); } }).subscribeOn(Schedulers.newThread()).observeOn(AndroidSchedulers.mainThread()) .subscribe(observer); }}
阅读全文
0 0
- Retrofit+拦截器的使用+拦截器文件
- retrofit文件上传和拦截器使用
- retrofit日志拦截器
- 基于Retrofit拦截器的自动登陆
- Retrofit+Rxjava+ok+拦截器的封装
- Android retrofit 日志拦截器
- Retrofit框架之拦截器
- Retrofit+RXJAVA添加拦截器
- MVP+rxJava+retrofit+拦截器
- retrofit接口日志拦截器
- 分享struts2的文件拦截器使用
- 拦截器的使用
- 拦截器的使用
- 拦截器的使用
- 拦截器的使用
- 拦截器的使用
- 拦截器的使用
- android,retrofit,okhttp,日志拦截器,使用拦截器Interceptor统一打印请求与响应的json
- HTML5智能表单的使用和规范
- Butterknife的使用讲解(让你的代码更优雅)
- 3用于MNIST的卷积神经网络-3.1/3.2简单卷积神经网络的计算图设计(上/下)
- Java集合总结之Collection整体框架
- open和fopen的区别
- Retrofit+拦截器的使用+拦截器文件
- 代码在内存中的分布。函数在栈中的调用过程,即函数的栈帧。
- linux压缩文件&解压文件
- Linux网络编程--(5)Linux常见服务器模型
- c++ primer 笔记,第六章
- 【codevs 1615】数据备份
- js 原型
- 解决元素塌陷的方法
- 修改添加ubuntu DNS地址