2016-11-07 137 views
0

我在Android上使用Retrofit,我想使用RxJava。使用rxjava进行改造

仅使用改造是罚款,但与RxJava是一种对我来说很难。

你能告诉我该怎么办?

我写了象下面这样的界面,但我不知道我应该使用什么选项???????????

在此先感谢。

@GET("users") 
Observable<??????????????> getUserById (@Query("id") int id); 

@GET("users") 
Observable<??????????????> getUserByName (@Query("name") String name); 

@GET("users") 
Observable<??????????????> getAllUsers(); 
+0

其实你需要什么?你正在使用它正确 – Nivedh

回答

1

正如您所遇到的,您有与Retrofit的经验。通常情况下,您的网络调用将返回Call<{type}>,其中type是您从API返回的对象。

在这里,你只是Observable取代Call。所以,你的函数看起来可能像:

@GET("users") 
Observable<User> getUserById (@Query("id") int id); 

@GET("users") 
Observable<User> getUserByName (@Query("name") String name); 

@GET("users") 
Observable<List<User>> getAllUsers(); 

如何使用RxJavaRetrofit的教程可以发现here

+0

谢谢Zagorski。这真的很有帮助。 –

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' 

到摇篮。

Here是参考示例