Android Volley架構的使用

來源:互聯網
上載者:User

標籤:

在Android開發中,經常要通過HTTP請求訪問網路。為了使通過HTTP請求訪問網路的過程更加簡單,2013提出了新的HTTP通訊架構--Volley。Volley使用起來非常簡單,適用於網路訪問頻繁、通訊資料量小的情況。

下載volley.jar檔案並匯入工程,加上訪問網路的許可權,就可以使用Volley架構訪問網路了。

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

訪問的過程也十分簡單:(1)建立一個請求隊列;(2)建立請求對象;(3)將請求對象加入請求隊列。這三個步驟完成以後,請求隊列就可以自動、並發的實現網路訪問了。多個請求對象可以加入到同一個請求隊列中,因此一個Activity只需要一個請求隊列就行了。

1. 建立請求隊列

定義請求隊列:

private RequestQueue mQueue;

建立請求隊列:

mQueue = Volley.newRequestQueue(MainActivity.this);

2. 建立請求對象並加入請求隊列

Volley有兩種請求對象:StringRequest和JSONRequest。

(1) StringRequest

    private void stringRequest(){        StringRequest stringRequest = new StringRequest("http://www.126.com",                new Response.Listener<String>() {                    @Override                    public void onResponse(String response) {                        Log.i("Response:", response);                    }                }, new Response.ErrorListener() {                    @Override                    public void onErrorResponse(VolleyError error) {                        Log.i("Error:", error.getMessage(), error);                    }                });        mQueue.add(stringRequest);    }

可以看見定義了一個StringRequest對象,然後將其加入到RequestQueue就可以了。StringRequest有三個參數:第一個是要訪問的URL(這裡是http://www.126.com);第二個是收到伺服器響應的回呼函數;第三個是伺服器響應失敗的回呼函數。啟動並執行結果如下:

(2) JsonObjectRequest

    private void jsonRequest(){        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest("http://192.168.199.18:8080/MySchool/aclasquery",                 null,                new Response.Listener<JSONObject>() {                    @Override                    public void onResponse(JSONObject response) {                        Log.i("Response:", response.toString());                    }                },                new Response.ErrorListener() {                    @Override                    public void onErrorResponse(VolleyError error) {                        Log.i("Error:", error.getMessage(), error);                    }                });        mQueue.add(jsonObjectRequest);    }

可以看見和StringRequest的使用基本上差不多,只不過StringRequest返回的是字串,而JsonObjectRequest返回的是一個JSONObject。運行結果如下:

Android Volley架構的使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.