当我点击“记住我”复选框时,根据代码,它将sharepreferences
保存用户名和密码。但是,当我退出我的应用程序并返回时,用户名和密码将会消失。
如何在会话之间保存用户名和密码?
// Remember me function
CheckBox cbRemember = (CheckBox) findViewById(R.id.chkRememberPassword);
if (cbRemember.isChecked()) {
// save username & password
SharedPreferences mySharedPreferences = getSharedPreferences(
"PREFS", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = mySharedPreferences
.edit();
editor.putString("UserName",
String.valueOf(txtLogin.getText().toString()));
editor.putString("Password",
String.valueOf(txtPassword.getText().toString()));
editor.commit();
}
答案 0 :(得分:1)
与将用户名和密码字符串放在共享首选项中相同,您可以通过执行以下操作来检索相同内容:
SharedPreferences settings = getSharedPreferences("PREFS",0);
settings.getString("UserName", "");
settings.getString("user", "");
但我认为实现记住我的功能,只需在登录成功时放置一个布尔标志:
editor.putBoolean("login",true);
并在下次重新启动应用时检索:
settings.getBoolean("login", false);
答案 1 :(得分:0)
我认为问题在于使用Activity.MODE_PRIVATE标志代替getSharedPreferences(“PREFS”,MODE_WORLD_WRITEABLE)标志。
答案 2 :(得分:0)
当您退出应用并返回时,将调用onResume()
方法。在这里您应该使用Paresh Mayani的代码来检索用户名和密码。检查here以了解Android中活动的生命周期。