我使用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 –