我在Android上使用Retrofit,我想使用RxJava。
仅使用Retrofit很好,但RxJava对我来说有点困难。
你能告诉我该怎么做吗?
我写了一个像下面这样的界面,但我不确定我应该在???????????
使用什么选项提前致谢。
@GET("users")
Observable<??????????????> getUserById (@Query("id") int id);
@GET("users")
Observable<??????????????> getUserByName (@Query("name") String name);
@GET("users")
Observable<??????????????> getAllUsers ();
答案 0 :(得分:1)
如你所知,你有Retrofit
的经验。通常,您的网络调用将返回Call<{type}>
,其中type是您从API返回的对象。
您只需将Call
替换为Observable
即可。所以你的功能可能看起来像:
@GET("users")
Observable<User> getUserById (@Query("id") int id);
@GET("users")
Observable<User> getUserByName (@Query("name") String name);
@GET("users")
Observable<List<User>> getAllUsers ();
可以找到有关RxJava
与Retrofit
一起使用的教程here
答案 1 :(得分:0)
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(YOUR API URL).addConverterFactory(GsonConverterFactory.create()).addCallAdapterFactory(RxJavaCallAdapterFactory.createWithScheduler(Schedulers.io()))
.build();
并添加
compile 'com.squareup.retrofit2:retrofit:2.0.1'
compile 'com.squareup.retrofit2:adapter-rxjava:2.0.1'
gradle。
Here是参考示例