Retrofit retrofit = new Retrofit.Builder()
.addConverterFactory(ScalarsConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())//新的配置
.baseUrl("https://api.github.com/")
.build();
AApi api = retrofit.create(AApi.class);
api.getGit().subscribeOn(Schedulers.newThread())
.observeOn(Schedulers.io())
.subscribe(new Subscriber<String>() {
@Override
public void onCompleted() {
System.out.println("complete");
}
@Override
public void onError(Throwable e) {
System.out.println("error");
}
@Override
public void onNext(String s) {
System.out.println("next");
}
});
@GET(".")
Observable<String> getGit();
为什么就是不走网络请求呢,求老哥老姐们指教啊
没有完整的么?
如果你是在 Java 的
main
方法里作的这个请求,那么这就是正常的,因为RxJava
里的Scheduler
里用的线程是 守护线程 所以才会有这个问题,你可以把subscribeOn
和observeOn
先去了就行了,或者你可以先启动一个普通的暂时不会退出的线程。