Android 当应用程序被强制关闭时,首选项被清除
我正在制作一个应用程序,我想在其中实现登录。我正在Android 当应用程序被强制关闭时,首选项被清除,android,Android,我正在制作一个应用程序,我想在其中实现登录。我正在SharedReference中保存用户密码,它存储正确,工作正常。但当我强制关闭应用程序时,首选项被清除。当用户按下okey按钮时,我将密钥保存在以下代码中 case R.id.bOkey: if (sp.contains(KEY_PASSWORD)) { Toast.makeText(getApplicationContext(), "contains the key", Toast.L
SharedReference
中保存用户密码,它存储正确,工作正常。但当我强制关闭应用程序时,首选项被清除。当用户按下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-您也应该在暂停()时保存持久数据,因为您完全确定您的应用程序在关闭前会切换到暂停状态。
所以士气是“总是在onPause()方法上保存数据”。我在某个地方读到链接共享引用(总是)不起作用,试着不要链接链接共享引用的方法@MarkoNiciforovicIt没有回答您的问题,但出于安全原因,您确实不应该将用户的密码保存为明文形式的共享引用。您至少应该对其进行加密,否则用户密码可能会被泄露。sp.edit().putString(key,key.commit();应该是全新的。如果失败了,也试试看