使用rxjava我无法从主线程中进行改造

jmi*_*ela 1 android rx-java retrofit

简化代码如下,s是与我的终点的返回类型匹配的订户.无论我做什么,我都会在主线程异常上获得一个网络.有些教程甚至没有提到这里的线程,说当你使用rxjava时,retrofit会自动处理它,但事情似乎对我来说是另一回事,我似乎无法将它从主线程中解脱出来.

PostInterface p = getRestAdapter().create(PostInterface.class);

p.getFeedForUser()
    .observeOn(Schedulers.newThread())
    .subscribeOn(AndroidSchedulers.mainThread())
    .subscribe(s);
Run Code Online (Sandbox Code Playgroud)

编辑:

我也试过这段代码(发布在下面):

p.getFeedForUser()
    .observeOn(AndroidSchedulers.mainThread())
    .subscribeOn(Schedulers.newThread())
    .subscribe(s);
Run Code Online (Sandbox Code Playgroud)

我也尝试过没有订阅线程.我每次都在主线程异常上获得网络.

Dan*_*nko 5

你应该observeOn在主线程中,subscribe在新线程上

p.getFeedForUser()
    .observeOn(AndroidSchedulers.mainThread())
    .subscribeOn(Schedulers.newThread())
    .subscribe(s);
Run Code Online (Sandbox Code Playgroud)