我使用Retrofit来调用Restful API。我阅读了Rx Android的一些文章,但是我并没有明确地认识到如何将Rx Android与Retrofit集成到新定义的可观察模式中。 我指的是来自Google的链接。但没有得到澄清如何实现它,所以我想要适当的例子或任何职位学习。使用RxAndroid整合进行改造
回答
如果你正在切换到RxAndroid,我建议你从:http://blog.danlew.net/2014/09/15/grokking-rxjava-part-1开始。作者在帖子中仔细解释说,系列中有4个职位。
然后你可以阅读更多有关Retrofit2:https://realm.io/news/droidcon-jake-wharton-simple-http-retrofit-2/;有Call,Observable和Future的例子。
从使用可观察到得到onNext愿望输出(类似于回调)的简单的Hello World:
Observable<String> myObservable = Observable.create( new Observable.OnSubscribe<String>() { @Override public void call(Subscriber<? super String> sub) { sub.onNext("Hello, world!"); sub.onCompleted(); } } ); Subscriber<String> mySubscriber = new Subscriber<String>() { @Override public void onNext(String s) { System.out.println(s); } @Override public void onCompleted() { } @Override public void onError(Throwable e) { } }; myObservable.subscribe(mySubscriber); // Outputs "Hello, world!"
然后我们就可以实现Retrofit2是这样的:
interface GitHubService { @GET("/repos/{owner}/{repo}/contributors") Observable<List<Contributor>> repoContributors( @Path("owner") String owner, @Path("repo") String repo); } Subscriber<List<Contributor>> repoSubscriber = new Subscriber<List<Contributor>>() { @Override public void onNext(List<Contributor> list) { // do something with the list } @Override public void onCompleted() { } @Override public void onError(Throwable e) { } }; gitHubService.repoContributors("square", "retrofit") .subscribe(repoSubscriber);
您可以使用Action1以及订阅者。
gitHubService.repoContributors("square", "retrofit") .subscribe(new Action1<List<Contributor>>() { @Override public void call(List<Contributor> contributors) { // ... } });
虽然这个链接可以回答这个问题,最好在这里包含答案的重要部分,并提供参考链接。如果链接页面更改,则仅链接答案可能会失效。 - [来自评论](/ review/low-quality-posts/11509555) –
我编辑了我的答案。谢谢。 – ninjahoahong
- 1. 使用RXJava2/RXAndroid 2轮询和改造
- 2. 使用rxjava进行改造
- 3. 使用QueryMap进行改造
- 4. 使用Rxjava进行改造和领域
- 5. 使用动态网址进行改造
- 6. 仅使用OkHttpClient进行改造?
- 7. RxAndroid http请求在后台使用改进
- 8. 使用RxAndroid MVP Retrofit修改回调
- 9. 使用RxAndroid进行翻新时出现重复文件异常
- 10. 如何使用RxAndroid
- 11. 如何在进行更改后伪造文件合并?
- 12. 如何利用重载pojo构造函数进行改造?
- 13. RxJava/RxAndroid +改造,使6级不同的可观察到的呼叫asyncronous
- 14. 如何在Android中使用POST方法进行改造
- 15. 使用OKHTTP3认证锁定进行改造
- 16. 仅在RoboSpice中使用TLS进行改造
- 17. 使用电子邮件和密码进行改造登录
- 18. 仅使用表格数据进行改造2
- 19. 使用Javascript进行造型内容
- 20. 如何在git中使用我的更改进行合并?
- 21. 使用合并有效更新整行
- 22. 使用PyMC执行双重整合
- 23. 使用Javascript进行波形整理
- 24. 使用Conv2d对图像进行调整
- 25. Retrofit RxAndroid使api调用包装
- 26. 如何应用同步任务进行改造android
- 27. 使用RANSAC进行线条拟合
- 28. 使用Rugged执行“快进”合并
- 29. 使用SQL JOIN进行数据联合
- 30. 使用集合进行排序
更具体。你到底想做什么? –
想要将api与Rx Android集成到可观察的模式中。 –
有这么多文章,http://randomdotnext.com/retrofit-rxjava/ https://medium.com/@ahmedrizwan/rxandroid-and-retrofit-2-0-66dc52725fff#.3gbm0jt58 –