Android開発:VolleyがHttpリクエストを送信

Volleyは、httpリクエストを簡単に送信および処理できるjarパッケージをカプセル化するモジュールです。

最初にVolley.javaをダウンロードする必要があります。ダウンロードアドレス:クリックしてダウンロードし、
Volley.jarをプロジェクトにコピーして、ライブラリに追加します。

RequestQueue:文字通りリクエストキューを意味します。RequestQueueは内部で高い同時実行性を処理しているため、すべてのリクエストに対してRequestQueue [リクエストキュー]を共有できます。

StringRequest:特定のリクエスト情報。
MainActivity.javaの場合:

RequestQueue requestQueue = Volley.newRequestQueue(this);
StringRequest stringRequest = new StringRequest("http://www.baidu.com",
        new Response.Listener<String>() {
            @Override
            public void onResponse(String string) {
                Log.d("MainActivity", string);
            }
        },
        new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError volleyError) {
                Log.d("MainActivity", volleyError.getMessage(), volleyError);
                }
            }
    );
requestQueue.add(stringRequest);

効果は次のとおり
ここに写真の説明を書いてください
です。Baiduのホームページのソースコードを取得するには、httpリクエストを送信するだけです。それでおしまい。

POSTリクエストを送信します。

RequestQueue requestQueue = Volley.newRequestQueue(this);
        StringRequest stringRequest = new StringRequest(Request.Method.POST, "http://115.159.30.17/IHelpYou/Login",
                new Response.Listener<String>() {
                    public void onResponse(String response) {
                        Log.d("TAG", response);
                    }
                },
                new Response.ErrorListener() {
                    public void onErrorResponse(VolleyError error) {
                        Log.e("TAG", error.getMessage(), error);
                    }
                }
            ) {
                @Override
                protected Map<String, String> getParams() throws AuthFailureError {
                    Map<String, String> map = new HashMap<>();
                    map.put("phone", "13530536529");
                    map.put("password", "123456");
                    return map;
                }
        };
        requestQueue.add(stringRequest);

この場合、効果ははるかに高くなる可能性があります。

さらに重要なことに、Volleyはjsonデータをサポートしています。

RequestQueue requestQueue = Volley.newRequestQueue(this);
        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest("http://image.baidu.com/search/avatarjson?tn=resultjsonavatarnew&ie=utf-8&word=%E7%99%BE%E5%BA%A6", null,
                new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {
                        Log.d("TAG", response.toString());
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Log.e("TAG", error.getMessage(), error);
            }
        });
        requestQueue.add(jsonObjectRequest);

効果:
ここに写真の説明を書いてください
もちろん、保護されたMap <String、String> getParams()メソッドをオーバーライドして、要求パラメーターを追加することもできます。

おすすめ

転載: blog.csdn.net/new_Aiden/article/details/50910209