rx-java
Retrofit y RxJava
Buscar..
Configurar Retrofit y RxJava
Retrofit2 viene con soporte para múltiples mecanismos de ejecución conectables, uno de ellos es RxJava.
Para usar la actualización con RxJava, primero debe agregar el adaptador RxJava de actualización a su proyecto:
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
luego necesita agregar el adaptador al crear su instancia de actualización:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.example.com")
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.build();
En su interfaz, cuando define la API, el tipo de retorno debe ser Observable por ejemplo:
public interface GitHubService {
@GET("users/{user}/repos")
Observable<List<Repo>> listRepos(@Path("user") String user);
}
También puedes usar Single lugar de Observable .
Haciendo solicitudes seriales
RxJava es útil cuando se realiza una solicitud en serie. Si desea usar el resultado de una solicitud para hacer otra, puede usar el operador flatMap :
api.getRepo(repoId).flatMap(repo -> api.getUser(repo.getOwnerId())
.subscribe(/*do something with the result*/);
Haciendo peticiones paralelas
Puede utilizar el operador zip para realizar una solicitud en paralelo y combinar los resultados, por ejemplo:
Observable.zip(api.getRepo(repoId1), api.getRepo(repoId2), (repo1, repo2) ->
{
//here you can combine the results
}).subscribe(/*do something with the result*/);
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow