volley结合okhttp一起使用

本文仅介绍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();