2016-04-11 8 views
0

Ich arbeite an Gson mit Volley-Paket, aber es werfen Fehler. Meine URL ist in Ordnung. es gibt mir Json-Wert im Browser, aber in der Methode wirft Null Zeiger Ausnahme. von stringRequest Linie geht es direkt auf try Block und Rückgabe Null-Wert wie diese "0x239c9b75 NORMAL null"Volley werfen java.lang.NullPointerException

Bitte helfen Sie mir, dieses Problem zu lösen.

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(); 
     } 

    } 
+0

Es ist nicht wirklich klar, wo ist die NPE können Sie die Zeile und wahrscheinlich eine Art von Stacktrace angeben – djodjo

Antwort

0

Probieren Sie die Antwort als erstes

Log.d("",response); 

Siehe Ausdrucken, ob es tatsächlich in den Rückruf empfangen wird, wenn es tut - die Frage, wie Sie die Antwort mit Gson analysieren sein könnte.

Hoffe, dass dies hilft!

Verwandte Themen