2016-11-07 5 views
0

Я использую Retrofit на Android, и я хочу использовать 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

Как у вас есть wrtten, у вас есть опыт работы с 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

+0

Спасибо Загорски. Это действительно полезно. –

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 является Ссылочный пример

Смежные вопросы