2016-04-11 19 views
0

私はGsonのvolleyパッケージを使用していますが、エラーが発生しています。私のURLは大丈夫です。それはブラウザでjsonの値を与えていますが、メソッドではnullポインタの例外がスローされます。 stringRequest行からtryブロックに直接行き、この "0x239c9b75 NORMAL null"のようなnull値を返しますVolley throwing java.lang.NullPointerException

私はこの問題を解決するのを手伝ってください。

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

NPEがどこにラインを指定することができますか、おそらく何らかのスタックトレース – djodjo

答えて

0

応答最初

Log.d("",response); 

は、それが実際にコールバックで受信される場合にそれがない場合は、参照してください。プリントアウトしてみ - 問題は、あなたがGsonとの応答を解析方法かもしれません。

希望の方はこちら!

関連する問題