网络请求篇---Volley框架


关于volley 网络请求框架 建议看 CSDN郭霖大神的四篇文章


volley 的设计思想:
1,Volley通过维护一个请求队列来实现网络请求。它的底层有一个缓存线程和一个线程池,这样一来Volley的开发效率就比较低了,在上传大文件方面处理也不好,同时在功能拓展性方面也有欠缺
2,非常适合对数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如下载文件等则很糟糕。volley项目已暂停维护,建议使用okhttp框架

开发前准备

Gradle:最新包的下载地址:RxJava&RxAndroid ,Retrofit,OkHttp,Volley

dependencies {    
  compile fileTree(dir: 'libs', include: ['*.jar'])
  compile 'io.reactivex:rxandroid:1.1.0'
  compile 'io.reactivex:rxjava:1.1.3'
  compile 'com.squareup.retrofit2:retrofit:2.0.2'
  compile 'com.squareup.retrofit2:converter-gson:2.0.2'
  compile 'com.squareup.retrofit2:adapter-rxjava:2.0.2'
  compile 'com.squareup.okhttp3:okhttp:3.2.0'
  compile 'com.squareup.okhttp3:logging-interceptor:3.2.0'
  compile 'com.mcxiaoke.volley:library:1.0.19'
 }

网络权限:

<uses-permission android:name="android.permission.INTERNET"/>

OkHttp & Volley

Volley(项目暂停维护)

说OkHttp之前不得不说一下Volley,作为曾经比较强大的一个网络请求库它被Google官方接受并于2013年Google I/O上推出,其实Volley内部封装使用的是HttpURLConnection和HttpClient。如果想要深入了解一下Volley可以参考CSDN郭霖大神的四篇文章
由于Volley不是本篇的重点,这里只是给出使用Volley Http Get请求的简单例子:

public void loadDataWithVolley(){
    RequestQueue mQueue = Volley.newRequestQueue(context);
    JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(URL, null,
        new Response.Listener<JSONObject>() {
           @Override 
           public void onResponse(JSONObject response) {
                    log.d(response.toString());
                } 
     }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                log.e(error);
            }
      });
      mQueue.add(jsonObjectRequest);
}

通过上面的的代码可以看出:Volley通过维护一个请求队列来实现网络请求。它的底层有一个缓存线程和一个线程池,这样一来Volley的开发效率就比较低了,在上传大文件方面处理也不好,同时在功能拓展性方面也有欠缺。于是,Okhttp逐渐深入人心:



作者:Torang
链接:http://www.jianshu.com/p/b084b6d91260
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值