Android retrofit+okhttp+rxjava例子
时间: 2023-10-03 07:10:55 浏览: 150
好的,您可以参考以下代码:
```java
//创建Retrofit实例,设置BaseUrl和OkHttpClient
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://api.example.com/")
.client(new OkHttpClient.Builder().build())
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.build();
//创建API接口的实例
ApiService apiService = retrofit.create(ApiService.class);
//创建一个Observable对象
Observable<ResponseBody> observable = apiService.getData(userId);
//使用subscribeOn和observeOn方法分别指定被观察者和观察者所在的线程
observable.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<ResponseBody>() {
@Override
public void onSubscribe(Disposable d) {
//订阅事件
}
@Override
public void onNext(ResponseBody responseBody) {
//对成功返回的数据进行处理
}
@Override
public void onError(Throwable e) {
//对失败的情况进行处理
}
@Override
public void onComplete() {
//完成事件
}
});
```
其中,ApiService是一个接口类,用于定义API接口的方法。在该例子中,getData(userId)是一个返回值为Observable<ResponseBody>类型的方法。该方法会被Retrofit框架自动实现,我们只需要在接口中定义好即可。
此外,我们还使用了RxJava框架中的一些方法,如subscribeOn和observeOn用于切换线程,以及subscribe方法用于订阅事件。
阅读全文