2013-10-06 3 views
0

У меня есть система входа/выхода, где пользователь регистрируется либо через facebook, либо в нашей собственной базе данных mysql.Улучшение системы входа/выхода

Когда пользователь успешно Входов в fullying сохраняется:

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
SharedPreferences.Editor editor = settings.edit(); 
editor.putBoolean("loggedIn", true); 
editor.putString("email", EMAIL); 
editor.putString("password", PASSWORD); 
editor.putInt("USERID", Integer.parseInt((String) product.get("ProfileID"))); 
editor.commit(); 

А потом у меня есть копии страницы, которая проверяет, если пользователь вошел в систему:

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
boolean loggedin = settings.getBoolean("loggedIn", false); 
if (loggedin) { 
    Intent intent = new Intent(this, LoggedIn.class); 
    startActivity(intent); 
} else { 
    Intent intent = new Intent(this, LogIn.class); 
    startActivity(intent); 
} 

а затем, когда пользователь входит в out:

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
SharedPreferences.Editor editor = settings.edit(); 
editor.putBoolean("loggedIn", false); 
editor.putString("email", ""); 
editor.putString("password", ""); 
editor.commit(); 
db.clearLists(); 
db.clearProducts(); 
Intent intent = new Intent(v.getContext(), Splash.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); 
v.getContext().startActivity(intent); 

Это, кажется, работает нормально, то есть пользователь выходит из системы и отправляется обратно на страницу входа a и все их данные были удалены из приложения.

Однако некоторые пользователи сообщают, что если они закрывают приложение и возвращаются к нему, они на самом деле все еще зарегистрированы. Я не могу реплицировать это и так интересно, есть ли у кого-нибудь какие-либо данные о том, как улучшить мою систему входа/выхода улучшить его и предотвратить это.

ответ

0

Ваш код выглядит нормально. Но я полагаю, вы можете перенести свой логин в sqlite db. сохранить их в db и получить информацию о регистрации с db. это быстрое грязное исправление;)

0

Его лучше очистить ваши общие настройки во время выхода из системы и во время проверки входа в систему, если существуют общие настройки, а затем войти в другой мудрый переадресовать пользователя на страницу входа.

Смежные вопросы