AndroidのVolleyを使用して私のサーバーにログインパラメータを投稿しようとしています。初めてログインするとparamsを送信しますが、ログアウトして再度ログインしようとすると、 getparamsではなく、以前のログインパラメータをサーバに送信します。2回目のgetParams()を呼び出さないボレー
私が初めてで、それはログstatemantを印刷し、ログステートメントを試みたが、それはなりません
StringRequest stringRequest=new StringRequest(Request.Method.POST,LOGIN_URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
if (response!=null){
Log.d("loginResponse", response);
try {
JSONObject object= new JSONObject(response);
uid=object.getString(KEY_UR_ID);
firstName=object.getString(KEY_F_NAME);
lastName=object.getString(KEY_L_NAME);
fullName=firstName+" "+lastName;
email=object.getString(KEY_EMAIL);
phone=object.getString(KEY_PHONE);
dob=object.getString(KEY_DOB);
gender=object.getString(KEY_GENDER);
userType=object.getString(KEY_UTYPE);
address=object.getString(KEY_U_ADDRESS);
pincode=object.getString(KEY_U_PINCODE);
// Inserting row in users table
db.addUser(uid, firstName, lastName,email,phone,gender,userType,address,pincode);
// user successfully logged in
// Create login session
session.setLogin(true);
loginProgress.dismiss();
onBackPressed();
} catch (JSONException e) {
loginProgress.dismiss();
Toast.makeText(getApplicationContext(),"Invalid username/password",Toast.LENGTH_LONG).show();
e.printStackTrace();
}
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
String message = null;
if (error instanceof NetworkError) {
message = "Cannot connect to Internet...Please check your connection!";
} else if (error instanceof ServerError) {
message = "The server could not be found. Please try again after some time!!";
} else if (error instanceof AuthFailureError) {
message = "Invalid username/password";
} else if (error instanceof ParseError) {
message = "Parsing error! Please try again after some time!!";
} else if (error instanceof TimeoutError) {
message = "Connection TimeOut! Please check your internet connection.";
}
Toast.makeText(getApplicationContext(),message,Toast.LENGTH_SHORT).show();
loginProgress.dismiss();
}
})
{
@Override
protected Map<String,String> getParams(){
Map<String,String> params = new HashMap<String, String>();
//This does not appear in the log for second time login
Log.d("Params","Does it assign params?") ;
params.put(KEY_EMAIL, inputEmail);
params.put(KEY_PASSWORD, inputPassword);
return params;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String,String> header = new HashMap<String, String>();
header.put("Content-Type","application/x-www-form-urlencoded");
return header;
}
@Override
protected String getParamsEncoding() {
return "utf-8";
}
};
MySingleton.getInstance(getApplicationContext()).addToRequestQueue(stringRequest);
あなたは毎回のリクエストを作成している、半分のコードが存在しているため、他のすべてのものが正常に見える、また、私はあなたが要求秒の時間を作っていないと思います他の場所でログやデバッグを入れて確認し、 – Piyush
何あなたのエラーログ? – Ricardo
は 'getParams()'の 'Log.d(" ... ")'を最初に 'getParams()'メソッドの最初の行に 'breakpoint'を使用し、 1つの例外があり、メソッドがスローされる可能性があります。また、すべてのcatch例外で 'Log.d(" ... ")'を実行して何が起こったかを確認します。 – Saeid