我有一个返回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");
}
});
问题是没有回复回复,我也没有收到任何错误消息。我在清单中添加了互联网权限。我在我的智能手机上进行测试,该智能手机与本地主机位于同一网络中。有人有个主意吗?
答案 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);