使用Volley执行网络数据传输

时间:2023-03-09 05:18:32
使用Volley执行网络数据传输

首先需要实例化一个RequestQueue

RequestQueue queue = Volley.newRequestQueue(this);

然后是根据提供的URL请求字符串响应

String url ="http://www.google.com";

// 从提供的URL请求字符串响应.
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener() {
@Override
public void onResponse(String response) {
// 在这里做相应的操作,处理URL返回的一些东西.
mTextView.setText("Response is: "+ response.substring(0,500));
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
     // 在这里相应网络链接错误等等。
mTextView.setText("That didn't work!");
}
});
// 添加到一个请求队列
queue.add(stringRequest);

如果要取消一个请求或者多个请求,可以给每个请求设置一个tag ,到时候根据tag来取消相应的请求。

    //定义一个tag,设置在被指定的请求里
public static final String TAG = "MyTag";

然后在添加到请求队列之前将tag设置到stringRequest中

        //为stringRequest设置一个tag
stringRequest.setTag(TAG);

最后在哪里取消呢?

我们可以在activity中的onStop中取消相应的请求

    protected void onStop() {
super.onStop();
if (queue != null){
//根据设置的tag来取消队列里的请求
queue.cancelAll(TAG);
}
}

一个简单的请求队列和取消就完成了。

对了,还必须得添加网络权限

<uses-permission android:name="android.permission.INTERNET"/>