使用retrofit和rxjava反复进行API调用

Muh*_*sal 3 java android rx-java retrofit retrofit2

我有一个改造可观察的:

@GET("something/")
Observable<Something> getSomething();
Run Code Online (Sandbox Code Playgroud)

订阅它会给出响应.

getSomething().subscribe(new Subscriber<Something>() {
            @Override
            public void onCompleted() {
            }

            @Override
            public void onError(Throwable e) {
            }

            @Override
            public void onNext(Something something) {
                //update database of something
            }
        });
Run Code Online (Sandbox Code Playgroud)

我如何每60秒拨打一次电话,以便我可以相应地更新数据库?

Lor*_*nMK 6

首先请不要这样做,如果你可以避免它.最好推动更改(例如GCM)而不是拉动以节省电池和数据.

为此,您可以使用Observable.intervalObservable.repeat操作员的组合.

Observable.interval(60, TimeUnit.SECONDS)
    .flatMap(n -> getSomething())
    .repeat()
    .subscribe();
Run Code Online (Sandbox Code Playgroud)

对不起lambda.