本文仅介绍Volley与OkHttp如何一起使用,具体各自有哪些优点请参考:xxx
使用前需要引用如下2个包:
compile 'com.squareup.okhttp3:okhttp:3.3.1'
compile 'com.squareup.okhttp3:okhttp-urlconnection:3.3.1'
首先,写自己的OkHttpStack
public class OKHttpStack extends HurlStack {
private OkHttpClient okHttpClient;
public OKHttpStack(){
this(new OkHttpClient());
}
public OKHttpStack(OkHttpClient okHttpClient){
this.okHttpClient = okHttpClient;
}
@Override
protected HttpURLConnection createConnection(URL url) throws IOException {
OkUrlFactory okUrlFactory = new OkUrlFactory(okHttpClient);
return okUrlFactory.open(url);
}
}
其次,在初始化Volley的地方,使用此OkHttpStack
Network network = new BasicNetwork(new OKHttpStack(), HTTP.UTF_8);
// 设置缓冲池、缓存目录、缓存大小
mQueue = new RequestQueue(network, THREADPOOLSIZE, new DiskCache(
mCacheFile, FILECACHESIZE));
// start and waiting requests.
mQueue.start();