JsonObjectRequest超时错误,但StringRequest工作正常

时间:2014-02-03 15:44:47

标签: android json android-volley

我有一个Android应用程序,它向REST服务(ASP.NET MVC)请求JSON对象。我正在使用Volley来做这件事。

执行此操作的代码:

RequestQueue requestQueue = Volley.newRequestQueue(getActivity().getApplicationContext());
JsonObjectRequest request = new JsonObjectRequest (
    Request.Method.GET,
    "http://192.168.1.253:8090/MyController/MyAction?myParameter=5B1C084B-EFE1-4292-BAF4-A2C30126171D",
    null,
    new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            Toast.makeText(getActivity(), "OK!" + response.toString(), Toast.LENGTH_SHORT).show();
            mProgressDialog.dismiss();
        }
    },
    new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            if (error.networkResponse != null) {
                Toast.makeText(getActivity(), "Error Response code: " + error.networkResponse.statusCode, Toast.LENGTH_SHORT).show();
            } else {
                Toast.makeText(getActivity(), "Error: " + error.toString(), Toast.LENGTH_SHORT).show();
            }
            mProgressDialog.dismiss();
        }
    });
    requestQueue.add(request);
    mProgressDialog = ProgressDialog.show(getActivity(), "My App", "Searching");

当我调试时,错误是TimeoutError实例。

现在,当我从JsonObjectRequest切换到StringRequest时,请求正常,并按预期返回JSON字符串。

服务返回的json是:

[{"Id":"0f376a18-f311-4bc3-b236-a2c3012bbbe1","Name":"HiAll","Route":[{"Order":0,"Latitude":24.207535461007971,"Longitude":65.26852548122406,"Stop":false,"Flag":true},{"Order":1,"Latitude":24.208240008486147,"Longitude":65.26927649974823,"Stop":true,"Flag":true},{"Order":2,"Latitude":24.209531668746457,"Longitude":65.270671248435974,"Stop":false,"Flag":true}]}]

我错过了什么吗?

0 个答案:

没有答案
相关问题