java - NullPointerException : Attempt to read from field 'com. android.volley.Cache$Entry com.android.volley.Response.cacheEntry

标签 java android json api android-volley

我正在使用 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: Unhandled exception java.lang.NullPointerException: Attempt to read from field 'com.android.volley.Cache$Entry com.android.volley.Response.cacheEntry' on a null object reference java.lang.NullPointerException: Attempt to read from field 'com.android.volley.Cache$Entry com.android.volley.Response.cacheEntry' on a null object reference at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:126)

我尝试了各种方法。但仍然有同样的问题。我不明白问题出在哪里。帮助解决这个问题

最佳答案

您没有解析响应。您只返回 null 而不是解析缓存 header 。解析响应后,您可以像这样解析带有缓存 header 的响应:

return Response.success(networkResponse, HttpHeaderParser.parseCacheHeaders(networkResponse));

在 parseNetworkResponse(NetworkResponse networkResponse) 方法中返回它

关于java - NullPointerException : Attempt to read from field 'com. android.volley.Cache$Entry com.android.volley.Response.cacheEntry,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28539924/

相关文章:

java - Android SQLite 试图更新一个字段

java - 如何在 JFrame 中实现 .png 图片?

java - 使用 JSR303 验证 JAX-RS (Apache Wink) 资源?

android - 使用 CWAC-Merge 使带有 TextView 和 ExpendableListView 的 LinearLayout 可滚动

c# - 解析 Json facebook c#

php - json_encode 与 $_GET 结合(PHP 和 Javascript)

json - 如何在 Robot Framework 中的同一个机器人文件中仅读取一次 JSON 并多次使用它

java - 忽略整个字符串模式的大小写

java - jqGrid : show/hide columns while Updating and Inserting data

android - 如何使用 kotlin-dsl 在 gradle 中使用多种口味?