使用 Volley 解析空指针异常 Android json

Null pointer Exception Android json parsing using Volley

我正在使用 Json 使用 Volley 概念进行解析,这一行出现空指针异常 "AppController.getInstance().addToRequestQueue(jsonObjReq);" 请给出解决方案。谢谢

JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.GET,Allbooksurl, null, new Response.Listener<JSONObject>() {
    @Override
    public void onResponse(JSONObject object) {
        try {
            String result = object.getString("status");
                            Log.d(result, "result");
                            String message = object.getString("info");
                            Log.d(message, "message");
                            JSONArray responserecentbooks= object.getJSONArray("recentbooks");
                            for (int i = 0; i < responserecentbooks.length(); i++)
                            {
                                JSONObject person = (JSONObject) responserecentbooks.get(i);
                                String id = person.getString("id");
                                String name = person.getString("name");
                                    db.insertValue(id, name);

 }
         } catch (JSONException e) {
            e.printStackTrace();
        }
    }
}, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        //VolleyLog.d(TAG, "Error: " + error.getMessage());
        Toast.makeText(getApplicationContext(),
        error.getMessage(), Toast.LENGTH_SHORT).show();
    }
});

try {
    AppController.getInstance().addToRequestQueue(jsonObjReq);
    } catch (Exception e) {
    e.printStackTrace();
}

您的错误清楚地表明 Null pointer Exception

AppController.getInstance().addToRequestQueue(jsonObjReq);

因此您的 AppController class 实例在 getInstance() 方法中可能为空。

您的 AppController 可以为空。检查你的代码,应该是这样的:

    private static AppController INSTANCE;
    public static AppController getInstance() {
        return INSTANCE;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        INSTANCE = this;
    }
 I forget to declare this in manifeast
    <application
    android:name="com.example.AppController"
    android:allowBackup="true"
    android:icon="@drawable/icon"
    android:label="@string/app_name"
    android:largeHeap="true"
    android:screenOrientation="portrait"></application>