Platform.Base
@Override Client.Provider defaultClient() {
final Client client;
if (hasOkHttpOnClasspath()) {
client = OkClientInstantiator.instantiate();
} else {
client = new UrlConnectionClient();
}
return new Client.Provider() {
@Override public Client get() {
return client;
}
};
}
Platform.AppEngine
@Override Client.Provider defaultClient() {
final UrlFetchClient client = new UrlFetchClient();
return new Client.Provider() {
@Override public Client get() {
return client;
}
};
}
对于Android,优先使用OKHttp,否则2.3以后使用HttpUrlConnection,2.3以前使用HttpClient
defaultHttpExecutor就是返回一个Executor,执行请求的线程在这个Executor中执行,就做了一件事,把线程设置为后台线程
defaultCallbackExecutor用于执行Callback类型的请求时,提供一个Executor执行Callback的Runnable
Platform.Base
@Override Executor defaultCallbackExecutor() {
return new Utils.SynchronousExecutor();
}
Platform.Android
@Override Executor defaultCallbackExecutor() {
return new MainThreadExecutor();
}
SynchronousExecutor
static class SynchronousExecutor implements Executor {
@Override public void execute(Runnable runnable) {
runnable.run();
}
}










