【问题标题】:Volley throwing java.lang.NullPointerException齐射抛出 java.lang.NullPointerException
【发布时间】:2016-04-11 14:53:24
【问题描述】:

我正在使用 volley 包处理 Gson,但它会抛出错误。我的网址没问题。它在浏览器上给了我 json 值,但在方法中它抛出空指针异常。从 stringRequest 行它直接进入 try 块并返回 null 值,如“0x239c9b75 NORMAL null”

请帮我解决这个问题。

 public void getJobs() {
      //  mProgressBar.setVisibility(View.VISIBLE);
        //for open jobs Client/GetOpenJobs
        StringRequest request = new StringRequest(Request.Method.GET, RestAPI.getInstance().urlString+ "Getrewardlist?businessid="+1,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        getRewardList = (new Gson()).fromJson(response, GetRewardList.class);
                        try {


                            if (ResponseCode == 200) {

                                RewardListEntity[] Items = getRewardList.entitiesList;
                                if(Items!=null&& Items.length>0) {
                                    Utilities.R_entities = Arrays.asList(Items);
                                    mProgressBar.setVisibility(View.GONE);
                                    return;
                                }else{
                                    mProgressBar.setVisibility(View.GONE);
                                    Toast.makeText(MainActivity.this, "No jobs exists", Toast.LENGTH_SHORT).show();
                                    return;
                                }
                            } else  {
                                Toast.makeText(MainActivity.this, response, Toast.LENGTH_SHORT).show();
                                mProgressBar.setVisibility(View.GONE);
                            }

                        } catch (Exception e) {

                           String ResponseMessage = e.getMessage();
                            Toast.makeText(MainActivity.this, ResponseMessage, Toast.LENGTH_SHORT).show();
                            mProgressBar.setVisibility(View.GONE);
                        }
                    }
                },

                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        VolleyError e = parseNetworkError(error);
                        Toast.makeText(MainActivity.this, e + "", Toast.LENGTH_SHORT).show();
                        mProgressBar.setVisibility(View.GONE);
                        return;
                    }

                    protected VolleyError parseNetworkError(VolleyError volleyError) {
                        if (volleyError.networkResponse != null && volleyError.networkResponse.data != null) {
                            VolleyError error = new VolleyError(new String(volleyError.networkResponse.data));
                            volleyError = error;
                        }

                        return volleyError;

                    }
                }
        ) {
            @Override
            public String getBodyContentType() {
                return "application/json; charset=utf-8";
            }

            @Override
            public Map<String, String> getHeaders() throws AuthFailureError {
                Map<String, String> params = new HashMap<String, String>();
              //  params.put("SessionToken", RestAPI.getInstance().sessionToken);
                return params;
            }
        };
        try {
            request.setRetryPolicy(new DefaultRetryPolicy(60000, 60, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
            VolleyApplication.getInstance().getRequestQueue().add(request);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

【问题讨论】:

  • 目前还不清楚 NPE 在哪里,您可以指定行和可能某种堆栈跟踪

标签: java android android-volley gson


【解决方案1】:

首先尝试打印出响应

Log.d("",response);

看看它是否真的在回调中被接收到,如果是 - 问题可能是你用 Gson 解析响应的方式。

希望对您有所帮助!

【讨论】:

    猜你喜欢
    • 2013-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-11
    • 2020-03-07
    • 2016-05-31
    • 1970-01-01
    • 2019-04-13
    相关资源
    最近更新 更多