Volley的简单使用

本文参考了郭霖大神的博客,详情请看:
http://blog.csdn.net/guolin_blog/article/details/17482095

1.Volly的下载

(现在使用可以直接导入依赖:compile 'com.android.volley:volley:1.0.0',参考文章:https://developer.android.com...
使用Volley之前,第一步当然是下载volley的jar包:

git clone https://android.googlesource.com/platform/frameworks/volley

这里我在下clone volley的时候出了点问题,git总是显示:

Cloning into 'volley'...
fatal: unable to access 'https://android.googlesource....': Failed to connect to android.googlesource.com port 443: Timed out

这里对我有用的是这篇文章:http://www.itdadao.com/articl...
这里通过执行一个命令:

git config --global http.proxy "localhost:8787"

原因:本人使用的是Lantern翻墙工具,而蓝灯默认会在【本机地址】上开启一个 HTTP 代理的端口,端口号是 8787
注意:不同版本的蓝灯好像端口号也不一样,要注意,最新的版本的端口号已经被改变了。

2.Volley的配置

我们需要新建一个moduleu,具体如下图:
1.
Volley的简单使用

2.点击新建后,选择Import Gradle Project

Volley的简单使用

点击next
3.选择路径
Volley的简单使用

这里我们选择volly安装的根路径,注意:如果选择上一层路径也会出错(截图中的错误是因为在写该文章之前已经导入过了,所以会警告)

Volley的简单使用
3.在我们的setting.gradle中看看是否有这句话,如果没有就加上(一般会自动生成)

include ':app', ':volley'

4.在build.gradle中添加依赖:

`compile project(':volley')`

注意,是在app的build.gradle那个中,不要搞错了
Volley的简单使用

Volley的简单使用

3.Volly的具体使用

主要有三种Request:StringRequest、JsonRequest、JsonArrayRequest
1.StringRequest的用法
首先需要获取到一个RequestQueue对象,可以调用如下方法获取到:

RequestQueue mQueue = Volley.newRequestQueue(context);  

接下来我们就需要获取一个StringRequest对象了,下面贴出具体代码,这里是我们定义的一个方法:

public void fromeStringRequest(){
        String url = "http://www.baidu.com";
        //这里我们选择3个参数的构造方法,默认采用get方式获取数据,
        // 在4个参数的构造方法中我们可以指定请求的方法类型
        StringRequest  stringRequest = new StringRequest(url, new Response.Listener<String>() {
            //这里是我们请求成功时候的回调方法,可以在其中获取返回的String类型的数据
            @Override
            public void onResponse(String response) {
                //这里我们只是简单的在Toast中显示出来
                //Toast.makeText(MainActivity.this,response.toString(),Toast.LENGTH_LONG).show();
                tv.setText(response.toString());
            }
        }, new Response.ErrorListener() {
            //这里是我们请求成功时候的回调方法
            @Override
            public void onErrorResponse(VolleyError error) {

                //请求失败的话我们就显示出出错信息
               // Toast.makeText(MainActivity.this,error.toString(),Toast.LENGTH_LONG).show();
                tv.setText(error.toString());
            }
        });
        //最后不要忘了将stringRequest添加进请求队列requestQueue中(也不要忘记添加联网权限)
        requestQueue.add(stringRequest);
    }

2.JsonRequest的用法
其实JsonRequest、JsonArrayRequest的用法与此基本相同,只是返回的数据类型不同,后两个否会的分别是JSONObject和JSONArraySON而已

相关推荐