Android网络框架-Volley(四) 使用get和post方法发送json请求

来源:互联网 发布:微交易系统源码下载 编辑:程序博客网 时间:2024/06/06 09:45

这一篇文章起我们开始介绍如何使用Volley发起请求,其中的例子有一部分我借用了Ravi Tamada博客中的例子。Ravi Tamada写了好多很高质量的文章,如果有兴趣的朋友可以去他的博客学习一下:Android working with Volley Library。通过前面的分析我们知道Volley发送请求的前提是我们得建立一个RequestQueue。在Android网络框架-Volley(二) RequestQueue源码分析以及建立一个RequestQueue中我们介绍了如何创建一个单例的RequestQueue,如果不会的朋友可以看一下。

发出JSON请求

Volley提供给我们发送JSON请求的类–JsonRequest。我们不能直接使用它,它是一个抽象类,他有两个子类:JsonObjectRequest和JsonArrayRequest。我们使用这两个子类来发出json请求

使用JsonObjectRequest

  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
// 给request赋一个TAG,以便于取消时候使用
String tag_json_obj = “json_obj_req”;
String url = “http://api.androidhive.info/volley/person_object.json”;
ProgressDialog pDialog = new ProgressDialog(this);
pDialog.setMessage(“Loading…”);
pDialog.show();
//新建一个JsonObjectRequest实例
//第一个参数是指定get还是post方式
//第二个参数是要请求的地址
//第三个参数是要传的参数,这里传null,后面解释
//第四个参数是一个Listener接口,重写里面两个方法
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.GET,
url, null,
new Response.Listener<JSONObject>() {
//在这个方法里,成功获取到了数据
@Override
public void onResponse(JSONObject response) {
Log.d(TAG, response.toString());
pDialog.hide();
}
}, new Response.ErrorListener() {
//在这个方法里,打印错误信息
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, “Error: “ + error.getMessage());
// hide the progress dialog
pDialog.hide();
}
});
// 将这个request加入到requestQueue中,就可以执行了
AppController.getInstance().addToRequestQueue(jsonObjReq, tag_json_obj);

//
0 0
原创粉丝点击