Volley进行网络通讯,获取网页内容

我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient,Volley等,但是Volley有它独有的优点,Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮。

在这里归纳一下,Volley通过get和post进行网络通信的用法。

首先定义一个全局变量private RequestQueue mRequestQuene;

然后对它进行初始化mRequestQuene=Volley.newRequestQueue(this);

当有get请求时StringRequest request=new StringRequest(url,listener,errorlistener);  这里的url是访问的网络资源的地址,listener是访问成功的监听,而errorlistener是访问失败时的监听,这样再把这个请求添加到请求队列中即可。

StringRequest request=new StringRequest(

"http://www.baidu.com", 

//成功的话做的事

new Listener<String>() {

@Override

public void onResponse(String arg0) {

text.setText(arg0);

}

},

//不成功的监听

new ErrorListener() {

@Override

public void onErrorResponse(VolleyError arg0) {

Toast.makeText(VolleyActivity.this,"网络已断开",Toast.LENGTH_LONG).show();

}

});

mRequestQuene.add(request);

而post请求与get请求类似,只是post请求可以向服务器端传输数据,进行交互。

PostStringRequest postRequest=new PostStringRequest(

Method.POST, 

"http://www.baidu.com", 

new Listener<String>() {

@Override

public void onResponse(String arg0) {

text.setText(arg0);

}

}, 

new ErrorListener() {

@Override

public void onErrorResponse(

VolleyError arg0) {

Toast.makeText(VolleyActivity.this,"网络已断开",Toast.LENGTH_LONG).show();

}

},

map);

mRequestQuene.add(postRequest);

在这里的PostStringRequest是自定义的一个Request,这个类里面提供了一些post提交方式的方法等。

public class PostStringRequest extends StringRequest {


private Map<String, String> map;

public PostStringRequest(int method, String url, Listener<String> listener,

ErrorListener errorListener) {

super(method, url, listener, errorListener);

}


public PostStringRequest(String url, Listener<String> listener,

ErrorListener errorListener) {

super(url, listener, errorListener);

}


public PostStringRequest(int method, String url, Listener<String> listener,

ErrorListener errorListener,Map<String, String> map) {

super(method, url, listener, errorListener);

this.map=map;

}


public Map<String, String> getMap() {

return map;

}


public void setMap(Map<String, String> map) {

this.map = map;

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值