Я делаю приложение, в котором я хочу внедрить логин. Я сохраняю пароль пользователя в SharedPreference
, он хранится правильно и работает хорошо. но когда я принудительно закрываю приложение, ключ предпочтения очищается. Я сохраняю ключ в следующем коде, когда пользователь нажимает кнопку okey.Ключ предпочтения очищается, когда приложение принудительно закрывается
case R.id.bOkey:
if (sp.contains(KEY_PASSWORD)) {
Toast.makeText(getApplicationContext(), "contains the key", Toast.LENGTH_LONG).show();
if (sp.getString(KEY_PASSWORD, null).equals(etPassword.getText().toString())) {
Toast.makeText(getApplicationContext(), "Login Success", Toast.LENGTH_LONG).show();
}else{
Toast.makeText(getApplicationContext(), "Login Failed", Toast.LENGTH_LONG).show();
}
}else{
Toast.makeText(getApplicationContext(), "Does not contains the key", Toast.LENGTH_LONG).show();
sp.edit().putString(KEY_PASSWORD, etPassword.getText().toString()).commit();
}
break;
Спасибо заранее! -Usman Riaz-
Я где-то читал, что прикованные sharedPreferences не работают (всегда), стараются не связывать их –
Цепные средства? ? @MarkoNiciforovic –
Он не отвечает на ваш вопрос, но по соображениям безопасности вы действительно не должны сохранять пароль пользователя для SharedPreferences в виде открытого текста. Вы должны, по крайней мере, зашифровать его, иначе пароль пользователей может стать скомпрометированным. –