码迷,mamicode.com
首页 > 移动开发 > 详细

Android进阶-Volley-1.使用Volley

时间:2015-03-20 22:11:29      阅读:260      评论:0      收藏:0      [点我收藏+]

标签:volley

参考链接:

http://www.codekk.com/open-source-project-analysis/detail/Android/grumoon/Volley%20%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90

 

Volley-Demo下载地址:

https://github.com/android-cn/android-open-project-demo/tree/master/volley-demo

 

1.      导入Eclipse

将volley-demo(.\android-open-project-demo-master\volley-demo)导入eclipse后:Eclipse->File->Import->ExistingAndroid Code Into Workspace。导入后是一个HomeActivity,且会出现一堆R cannot be resolved to a variable的错误,重启一下Eclipse即可

2.      学习volley-demo

2.1   使用StringRequest

以下是StringRequest的发送按钮的监听器代码:

btnSend.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				if (StringUtil.isEmpty(etUrl.getText().toString())) {
					ToastUtil.showToast(getActivity(), "请输入请求地址");
					return;
				}
				//请求之前,先取消之前的请求(取消还没有进行完的请求)
				VolleyUtil.getQueue(getActivity()).cancelAll(this);
				tvResult.setText("");

				StringRequest request = new StringRequest(StringUtil.preUrl(etUrl.getText().toString().trim()),
						new Listener<String>() {

							@Override
							public void onResponse(String response) {
								tvResult.setText(response);

							}
						}, new ErrorListener() {

							@Override
							public void onErrorResponse(VolleyError arg0) {
								ToastUtil.showToast(getActivity(), getResources().getString(R.string.request_fail_text));

							}
						});
				//请求加上Tag,用于取消请求
				request.setTag(this);
				
				
				VolleyUtil.getQueue(getActivity()).add(request);

			}
		});

从代码中可以看出其主要是新建了一个StringRequest,然后通过add函数加入了请求队列RequestQueue中。

接下来看StringRequest的构造函数:

public class StringRequest extends Request<String> {
。。。
public StringRequest(String url, Listener<String> listener, ErrorListener errorListener);
。。。
}

其中Request是一个抽象类,Listener为接口。Request有构造函数:

public Request(int method, String url, Response.ErrorListener listener);
public Request(String url, Response.ErrorListener listener) {
        this(Method.DEPRECATED_GET_OR_POST, url, listener);
    }

Listener中有函数:

public voidonResponse(T response);

当系统将StringRequest处理完成后会回调该函数。本demo中系统回调onResponse,将收到的数据显示在TextView上。

 技术分享

3.      小结

使用Volley很简单,过程可分为两步:

  1. 建立请求队列RequestQueue rq = new Volley.newRequestQueue()
  2. 新建请求XXRequest,然后将请求加入队列rq中:rq.add(XXRequest);

今天先了解Volley的初步使用,下次将对Volley源码进行详细分析







Android进阶-Volley-1.使用Volley

标签:volley

原文地址:http://blog.csdn.net/miaoyunzexiaobao/article/details/44494749

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!