Android Volley学习使用

我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient,几乎在任何项目的代码中我们都能看到这两个类的身影,使用率非常高。不过HttpURLConnection和HttpClient的用法还是稍微有些复杂的,如果不进行适当封装的话,很容易就会写出不少重复代码。Android开发团队也是意识到了有必要将HTTP的通信操作再进行简单化,于是在2013年Google I/O大会上推出了一个新的网络通信框架——Volley。既可以非常简单地进行HTTP通信,也可以轻松加载网络上的图片。除了简单易用之外,Volley在性能方面也进行了大幅度的调整,它的设计目标就是非常适合去进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟糕。

[b]下面来说说Volley的用法:[/b]
1.获取到一个RequestQueue对象,这里拿到的RequestQueue是一个请求队列对象,它可以缓存所有的HTTP请求,然后按照一定的算法并发地发出这些请求。

2.创建一个StringRequest对象用来发出一条HTTP请求,StringRequest的构造函数需要传入三个参数,第一个参数就是目标服务器的URL地址,第二个参数是服务器响应成功的回调,第三个参数是服务器响应失败的回调。

3.将这个StringRequest对象添加到RequestQueue里面
 //1.获取一个RequestQueue对象
RequestQueue mRequestQueue = Volley.newRequestQueue(context);

//2.创建一个StringRequest对象
StringRequest stringRequest = new StringRequest(Request.Method.POST, "http://www.baidu.com", new Response.Listener<String>() {
@Override
public void onResponse(String response) {
//服务器响应成功,将服务器返回的响应转换成一个Java Bean通过EventBus传递给事件监听处理
EventBus.getDefault().post(new ResultBeen(response));
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
//服务器响应失败,将服务器返回的响应转换成一个Java Bean通过EventBus传递给事件监听处理
EventBus.getDefault().post(new ResultBeen(error.getMessage()));

}
});
//3.将StringRequest对象添加到RequestQueue里面
mRequestQueue.add(stringRequest);


[b]Java Bean代码:[/b]
public class ResultBeen {
private int result;
private String response;

public ResultBeen(String response) {
this.response =response;
}

public int getResult() {
return result;
}

public void setResult(int result) {
this.result = result;
}

public String getResponse() {
return response;
}

@Override
public String toString() {
return response;
}
}


[b]事件监听处理:[/b]
    @DebugLog
public void onEventMainThread(ResultBeen event) {

this.tv_result.setText(event.getResponse());

}



4.另外,由于Volley是要访问网络的,因此千万不要忘记在你的AndroidManifest.xml中添加如下权限
<uses-permission android:name="android.permission.INTERNET" />  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值