heartBeatSub = Observable.interval(HEARTBEAT_INTERVAL, TimeUnit.SECONDS)
.flatMap(new Func1<Long, Observable<Notification<Response>>>() {
@Override
public Observable<Notification<Response>> call(Long aLong) {
return api.requestHeartBeat(vehicleId).materialize();
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Action1<Notification<Response>>() {
@Override
public void call(Notification<Response> responseNotification) {
Log.i("HEARTBEAT_INTERVAL", "Response from HEARTBEAT");
}
}, new Action1<Throwable>() {
@Override
public void call(Throwable throwable) {
// TODO: 22/03/16 ADD ERROR HANDLING
}
});
PROBLEM
マイcall
方法は、間隔ごとに一度の代わりに二回トリガされます。
03-22 11:57:47.236 28078-28078/com.app I/HEARTBEAT_INTERVAL: Response from HEARTBEAT
03-22 11:57:47.876 28078-28078/com.app I/HEARTBEAT_INTERVAL: Response from HEARTBEAT
私は持ち歩くまず1:Method threw 'java.lang.NullPointerException' exception. Cannot evaluate rx.Notification.toString()
をそしてonNext
と呼ばれています。
2番目は通常Response
です。 と呼ばれるonCompleted
========固定コード==========
@Danielルーの助けを借りて、私は自分のコードを修正し、今では正常に
を働いています
ここで 'マテリアライズ 'で達成しようとしていることは何ですか? 1つのonNextイベントと1つのonCompletedという2つのイベントがうまくいくように見えます。 – AndroidEx