我仍在尝试找出RxJava中的观察者.我有一个Retrofit客户端,一个实用程序方法和一个管理数据同步功能的类.当我尝试观察我的观测值时,我没有看到观察者已订阅的任何迹象.
我的效用方法
public static Single<Response<SyncResponse>> getSyncdata() { Single response = Festapiclient.getInstance().postsyncdata() .observeOn(Schedulers.newThread()) .subscribeOn(AndroIDSchedulers.mainThread()); return response;}
我的改装客户
public Single<Response<SyncResponse>> postsyncdata() { Single response = mFestapiclientService.postEventSyncList("my endpoint"); return response;}
还有我的数据同步管理器
disposable syncdisposable = ScheduleUtils.getSyncdata().subscribe(syncResponse -> { if (syncResponse.isSuccessful()){ Log.d(TAG, "Successfully posted events!"); addEventsFromSync(syncResponse.body()); mSyncDialog.dismiss(); } else { getFailureMessage(syncResponse.body()); Log.d(TAG, "Failed posting events"); } }, throwable -> { Log.d(TAG, "Failed posting events"); }); mCompositedisposable.add(syncdisposable);
我以为syncResponse.onFailure和onSuccess方法会被命中,但是我从没看到日志消息或命中断点.如果您让我知道是否发现有异味,我将不胜感激.谢谢!
解决方法:
您正在观察错误的线程.切换AndroIDSchedulers,使其在主线程上.
public static Single<Response<SyncResponse>> getSyncdata() { Single response = Festapiclient.getInstance().postsyncdata() .subscribeOn(Schedulers.io()) .observeOn(AndroIDSchedulers.mainThread()); return response;}
总结 以上是内存溢出为你收集整理的从未使用过的观察者方法全部内容,希望文章能够帮你解决从未使用过的观察者方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)