使用Volley執行網絡數據傳輸

首先須要實例化一個RequestQueueandroid

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來取消相應的請求。ide

    //定義一個tag,設置在被指定的請求裏
    public static final String TAG = "MyTag";

而後在添加到請求隊列以前將tag設置到stringRequest中this

        //爲stringRequest設置一個tag
        stringRequest.setTag(TAG);

最後在哪裏取消呢?google

咱們能夠在activity中的onStop中取消相應的請求url

    protected void onStop() {
        super.onStop();
        if (queue != null){
            //根據設置的tag來取消隊列裏的請求
            queue.cancelAll(TAG);
        }
    }

一個簡單的請求隊列和取消就完成了。spa

對了,還必須得添加網絡權限code

<uses-permission android:name="android.permission.INTERNET"/>
相關文章
相關標籤/搜索