JSON请求未响应

时间:2018-05-09 14:09:14

标签: android json webserver

我有一个返回json文件的web服务。如果我在智能手机浏览器上调用此网址(http://192.168.178.67:8080/simplestock/webapi/swipeService/swipes/Aktien),我将返回一个json数组。

现在我已尝试使用此代码在我的android项目中获取此json:

JsonArrayRequest jsonObjectRequest = new JsonArrayRequest
            (Request.Method.GET, url, null, new Response.Listener<JSONArray>() {
        @Override
        public void onResponse(JSONArray response) {

            Log.d("Success", "onResponse is Called");

            try {
                Log.d("Get Object: ", response.getJSONArray(1).toString());
            } catch (JSONException e) {
                e.printStackTrace();
                Log.d("Failure", "JSON Error");
            }

        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.d("JSON", "Error");
        }
    });

问题是没有回复回复,我也没有收到任何错误消息。我在清单中添加了互联网权限。我在我的智能手机上进行测试,该智能手机与本地主机位于同一网络中。有人有个主意吗?

1 个答案:

答案 0 :(得分:0)

在调用代码的任何方法中,您需要将请求添加到队列中:jsonObjectRequest.add(jsonArrayRequest);

像这样:

JsonArrayRequest jsonObjectRequest = new JsonArrayRequest
    (Request.Method.GET, url, null, new Response.Listener<JSONArray>() {
    @Override
    public void onResponse(JSONArray response) {
        Log.d("Success", "onResponse is Called");
        try {
            Log.d("Get Object: ", response.getJSONArray(1).toString());
        } catch (JSONException e) {
            e.printStackTrace();
            Log.d("Failure", "JSON Error");
        }
    }
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
    Log.d("JSON", "Error");
}
});

jsonObjectRequest.add(jsonArrayRequest);