通过 Android 集成进行改造
Retrofit with RxAndroid intigration
我使用 Retrofit 进行调用 Restful API。我读了一些 post 的 Rx Android 但我不清楚如何在新定义的可观察模式中将 Rx Android 与 Retrofit 集成。
我指的是 link 来自谷歌搜索。但没有弄清楚如何实现它,所以我想要适当的例子或任何 post 来学习。
如果你要切换到 RxAndroid,我建议你从:http://blog.danlew.net/2014/09/15/grokking-rxjava-part-1 开始。在post中,作者解释的很仔细,系列中有4个post
然后您可以阅读更多关于 Retrofit2 的内容:https://realm.io/news/droidcon-jake-wharton-simple-http-retrofit-2/;有 Call、Observable 和 Future 的例子。
来自使用 Observable 从 onNext 获取期望输出的简单问候世界(类似于回调):
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) {
// ...
}
});
我使用 Retrofit 进行调用 Restful API。我读了一些 post 的 Rx Android 但我不清楚如何在新定义的可观察模式中将 Rx Android 与 Retrofit 集成。 我指的是 link 来自谷歌搜索。但没有弄清楚如何实现它,所以我想要适当的例子或任何 post 来学习。
如果你要切换到 RxAndroid,我建议你从:http://blog.danlew.net/2014/09/15/grokking-rxjava-part-1 开始。在post中,作者解释的很仔细,系列中有4个post
然后您可以阅读更多关于 Retrofit2 的内容:https://realm.io/news/droidcon-jake-wharton-simple-http-retrofit-2/;有 Call、Observable 和 Future 的例子。
来自使用 Observable 从 onNext 获取期望输出的简单问候世界(类似于回调):
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) { // ... } });