问题
I recently upgraded from retroft-beta1 and this was working. I have the following interface for the API:
public interface Service {
@POST("path")
Observable<Object> service();
}
And the following call:
service.service()
.observeOn(AndroidSchedulers.mainThread())
.subscribe();
And it throws a NetworkOnMainThreadException. But this was working in retrofit-beta1.
回答1:
From retrofit-beta2, calls to Observable methods now behave synchronously. So subscribeOn must be used:
service.service()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe();
来源:https://stackoverflow.com/questions/33390532/networkonmainthreadexception-with-retrofit-beta2-and-rxjava