volley常用网络请求方式GET与POST请求

来源:互联网 发布:淘宝店铺装修设计说明 编辑:程序博客网 时间:2024/06/07 06:14

准备工作:

1.下载并导入jar包:点击打开链接

2.添加网络权限:

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

3.代码

/** * 1. 创建一个RequestQueue对象。 * 2. 创建一个StringRequest对象。 * 3. StringRequest对象添加到RequestQueue里面。 */public class MainActivity extends AppCompatActivity {    private RequestQueue mQueue;    private String url = "http://v.juhe.cn/joke/randJoke.php";    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mQueue = Volley.newRequestQueue(this);        stringRequestWithGet();        stringRequestWithPost();    }    /**     * StringRequest Get方式     */    private void stringRequestWithGet() {        String params = "key=123&type=pic";        url = url + "?" + params;        StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {            @Override            public void onResponse(String response) {                try {                    //使用JSONObjectresponse转换编码                    JSONObject jsonObject = new JSONObject(response);                    Log.e("hel", jsonObject.toString());                } catch (JSONException e) {                    e.printStackTrace();                }            }        }, new Response.ErrorListener() {            @Override            public void onErrorResponse(VolleyError error) {                Log.e("hel", error.getMessage(), error);            }        });        mQueue.add(stringRequest);    }    /**     * StringRequest Post方式     */    private void stringRequestWithPost() {        StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {            @Override            public void onResponse(String response) {                try {                    //使用JSONObjectresponse转换编码                    JSONObject jsonObject = new JSONObject(response);                    Log.e("hel", jsonObject.toString());                } catch (JSONException e) {                    e.printStackTrace();                }            }        }, new Response.ErrorListener() {            @Override            public void onErrorResponse(VolleyError error) {                Log.e("hel", error.getMessage(), error);            }        }) {            @Override            protected Map<String, String> getParams() throws AuthFailureError {                Map<String, String> map = new HashMap<>();                map.put("key", "123");                map.put("type", "pic");                return map;            }        };        mQueue.add(stringRequest);    }}