こんにちは、おはようございます。
私は機能性を必要とするアプリケーションに取り組んでいますlogin/logout
。ここでログインに成功した後、ログアウトも完璧にagain login
機能しますが、アプリケーションにアクセスしようとすると406 status code
. ここではsharedpreference
、ログイン/ログアウト機能に s を使用しています。
しかし、restart the application
ランダムに動作すると、ログインする場合とログインしない場合があります。しかし、close the emulator
再び開始すると、完璧に機能します。
ログイン.java
onPostExecute()
以下のコードのメソッドを確認してください
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
String loginURL = "http://www.cheerfoolz.com/rest/user/login";
strResponse = util.makeWebCall(loginURL, uName, Password);
try {
JSONObject jsonSession = new JSONObject(strResponse);
session = new SessionID();
SessionID.sessionId = jsonSession.getString("sessid");
SessionID.sessionName = jsonSession.getString("session_name");
JSONObject jsonuser=jsonSession.getJSONObject("user");
SessionID.userID = jsonuser.getInt("uid");
} catch (JSONException e1) {
e1.printStackTrace();
}
return null;
}
@Override
public void onPostExecute(Void result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
try {
if (strResponse.substring(KEY_SUCCESS) != null) {
txterror.setText("");
SharedPreferences userDetails =getSharedPreferences("userdetails", MODE_PRIVATE);
Editor edit = userDetails.edit();
edit.putString("username", uName);
edit.putString("password", Password);
edit.commit();
} else {
txterror.setText("Username and Password Not valid !!!");
}
} catch (Exception e) {
// TODO: handle exception
}
}
Main.java
メインクラスにはログアウトボタンがあります。
case R.id.home_btn_feature_logout:
SessionID.setUserID(0);
SharedPreferences settings = getSharedPreferences("userdetails", MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.remove("username");
editor.remove("password");
editor.clear();
editor.commit();
login.setVisibility(View.VISIBLE);
logout.setVisibility(View.GONE);
break;
ここで、セッション データが適切にクリアされていないと思います。間違っているところを教えてください。そして、ログイン/ログアウトのための別の解決策があり、それから私に知らせてください.
ありがとうございました。