2016-04-24 29 views
2

中的java.lang.String.length()中調用虛擬方法每當fb_flag爲1時,在Listener中獲取錯誤,m只是初學者;學習凌空com.android.volley.VolleyError:java.lang.NullPointerException:嘗試在對象引用

NullPointerException ::: 試圖解決錯誤;但沒能解決它

LoginCall.java

public class Login_Call { 
    Context con; 
    String email ="", pass = ""; 
    String fb_flag = String.valueOf(0); 
    String URL = ""; 
    UserData userData; 
    String Message = "Success"; 

構造設置數據項;

public Login_Call(Context context, String email, String password, String flag) { 
     con = context; 
     this.email = email;`enter code here` 
     pass = password; 
     fb_flag = flag; 
     Toast.makeText(con,fb_flag, Toast.LENGTH_SHORT).show(); 
    } 

    public UserData getUserDataObject() { 
     return userData; 
    } 

在此方法中出現錯誤; 方法是用url映射字符串數據;

public String getLoginAcc() { 
     RequestQueue queue = Volley.newRequestQueue(con); 
     StringRequest postRequest = new StringRequest(Method.POST, URL, new Listener<String>() { 
      @Override 
      public void onResponse(String s) { 
       Log.d("LoginCheck", s); 
       Toast.makeText(con,s, Toast.LENGTH_SHORT).show(); 
       authenticateLoginResponse(s); 
      } 
     }, new Response.ErrorListener() { 
      @Override 
      public void onErrorResponse(VolleyError volleyError) { 
       Toast.makeText(con, "Server Not Responding" + volleyError, Toast.LENGTH_SHORT).show(); 
      } 
     }) { 
      @Override 
      protected Map<String, String> getParams() throws AuthFailureError { 
       Map<String, String> params = new HashMap<String, String>(); 
       params.put("fb_flag", fb_flag); 
       params.put("email", email); 
       params.put("password", pass); 
       return params; 

      } 
     }; 
     postRequest.setTag("Publiko Login"); 
     postRequest.setRetryPolicy(new DefaultRetryPolicy(5000, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); 
     queue.add(postRequest); 
     return Message; 
    } 

    private void authenticateLoginResponse(String data) { 
     String response; 
     try { 
      JSONObject responseObject = new JSONObject(data); 
      response = responseObject.getString("response"); 
      if (response.equals("success")) { 
       // ToDo succes response Login Acces Granted 
       JSONArray responseArray = responseObject.getJSONArray("data"); 
       JSONObject reponseInnerObject = responseArray.getJSONObject(0); 
       UserData user = new UserData(); 
       user.setUsername(reponseInnerObject.getString("user_name")); 
       user.setEmail(reponseInnerObject.getString("email")); 
       user.setAddress(reponseInnerObject.getString("address")); 
       user.setPhone(reponseInnerObject.getString("phone")); 
       user.setUserid(reponseInnerObject.getString("user_id")); 
       userData = user; 
      } else { 
       // ToDo Failed Response Invalid Email/Password 
       this.Message = responseObject.getString("message"); 
      } 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

在此先感謝:)

+0

@Marcin Orlowski,它不僅僅是一個NPE,它屬於Android的Volley API,可能有幾個原因。 –

+0

@A_J沒有logcat,你不能說它屬於Volley –

+0

@ cricket_007,它已經在標題中提到它屬於凌空, 「com.android.volley.VolleyError:java.lang.NullPointerException:嘗試在對象引用「java.lang.String.length()中調用虛方法」 –

回答

0

仔細檢查您的網址,看看它是否是有效的URL。在我的情況下,我錯過了基地網址。

+0

這不能提供問題的答案。要評論或要求作者澄清,在他們的帖子下留下評論 - 你需要獲得[聲譽](http://stackoverflow.com/faq#reputation),然後才能評論他人的帖子以防止濫用;你爲什麼不嘗試並通過[回答問題]獲得一些答案(http://stackoverflow.com/unanswered)? –

相關問題