初识Volley框架

开发Android的APP时,很多时候都是要涉及网络操作,Android SDK中本身提供了HttpClient 和 HttpUrlConnection两种方式用来处理网络操作,但是当应用很复杂的时候,就需要编写大量的代码来进行处理。这时Volley框架应时而生,他可以自动调度网络请求,允许多发的网络连接,支持请求的优先级,运行更快,可以缓存。(PS:因为是边学边写,更多的也感觉不出来)。

现在开始初识Volley:

第一步:导入Volley

办法有三种:

第一种,下载jar包,引入就好。

第二种,从GIT上下载Volley源码,然后当做一个module(模块)引入Android studio,这是最好的,也是真正做APP的时候常用的方法,安全稳定,可以轻松的跳到原始定义与实现的代码中,如果需要,还可以修改Volley。

git clone https://android.googlesource.com/platform/frameworks/volley
执行上面的语句,将下载好的源码作为一个module引入。在Android Studio中,在打开项目的情况下,选择File > New Module,然后选择Import Existing Project。选择下载的源码的目录,然后确认。一个名为Volley的文件夹就会出现项目结构中。Android Studio会自动的更新settings.gradle文件以包含Volley module,添加依赖compile project(':volley'),然后就完成了。

第三种,是最简单的,也是新手学习时用的方法,在build.gradle 文件的依赖部分添加这行代码:

    compile 'com.mcxiaoke.volley:library:1.0.19'
然后点击右上角的Sync Now同步就行,但是这不是Google官方的,没有保证。
第二步:Volley的基本使用

一般Volley只会用到两个类RequestQueue 和Request,需要先创建一个RequestQueue,RequestQueue管理工作线程并将解析的结果发送给主线程。然后可以传递一个或者多个Request对象。

String url = "http://news-at.zhihu.com/api/4/news/latest";
  
// 创建StringRequest对象,这就是是要发出的请求
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
            new Response.Listener<String>() {
    @Override
    public void onResponse(String response) {
  
        // 请求成功,response是接口返回的内容
         Log.i("tag", "onResponse: "+response);
  
    }
}, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
          
        // 请求失败,error是具体错误提示
        Log.i("tag", "onResponse: "+error.getMessage());
  
    }
});
  
// 将Reques对象也就是stringRequest添加到RequestQueue里
Volley.newRequestQueue(this).add(stringRequest);
就是这么简单直接,创建一个请求,然后添加到请求队列。如果一个Activty中请求很多,可以实例化一个共享对象。

传入的参数四个参数分别是请求方式,可以是get或post,第二个是请求的路径,第三个是请求成功调用的函数,第四个是请求失败回调的函数,根据请求类型不同,还可能有别的参数。

<uses-permission android:name="android.permission.INTERNET" />  
因为Volley是联网的,记得添加网络权限


这成功的模样,好了,这就是初识Volley,我只学到这里,也只会写到这里,剩下的还有POST请求,ImageRequest,JsonRequest等,看懂这个StringRequest的例子,再看那些也不难,完全可以自学,我也就不写了,其实写这么多字也是好烦,最后再回归这个框架,Volley适合那种数据量不大,但是通讯频繁的场景,但是大数据的还是需要回归原本的方法。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值