【发布时间】:2015-04-16 21:00:20
【问题描述】:
我正在使用 Android Volley 从外部 API 获取 JSONArray。我的代码如下
StringRequest jq = new StringRequest("http://api.example.com/json/States", new Response.Listener<String>() {
@Override
public void onResponse(String jsonArray) {
try {
Log.d("Success", jsonArray.toString());
} catch (Exception je) {
je.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
Log.d("Error", volleyError.toString());
}
}) {
@Override
protected Response parseNetworkResponse(NetworkResponse networkResponse) {
return null;
}
};
AppController a = AppController.getInstance();
Log.d("Queue", "Add");
a.addToRequestQueue(jq);
我总是在下面遇到同样的错误
NetworkDispatcher.run:未处理的异常 java.lang.NullPointerException:尝试从空对象引用上的字段“com.android.volley.Cache$Entry com.android.volley.Response.cacheEntry”读取 java.lang.NullPointerException:尝试从空对象引用上的字段“com.android.volley.Cache$Entry com.android.volley.Response.cacheEntry”读取 在 com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:126)
我尝试了各种方法。但仍然有同样的问题。我无法理解问题出在哪里。帮助解决这个问题
【问题讨论】:
-
你找到解决方案了吗?
-
不完全是。现在我将我的代码从 StringRequest 更改为新的 JsonArrayRequest 及其工作。
标签: java android json api android-volley