Java 如何添加“记住我”复选框
我有一个应用程序,用户需要登录并记住他们的登录,但就我而言,我不明白为什么它不起作用。我对android开发和Java还是新手,我猜一些琐碎的事情对我来说是完全陌生的。如果你能帮我找出为什么我的“记住我”复选框不起作用,我将不胜感激。 谢谢大家! 物流活动Java 如何添加“记住我”复选框,java,android,firebase,Java,Android,Firebase,我有一个应用程序,用户需要登录并记住他们的登录,但就我而言,我不明白为什么它不起作用。我对android开发和Java还是新手,我猜一些琐碎的事情对我来说是完全陌生的。如果你能帮我找出为什么我的“记住我”复选框不起作用,我将不胜感激。 谢谢大家! 物流活动 如果您希望应用在关闭应用并重新打开后记住您的凭据,则可以使用SharedReferences 前几天我这么做了,这是我的解决方案 要保存凭据,请执行以下操作 private void savePreferences() { S
如果您希望应用在关闭应用并重新打开后记住您的凭据,则可以使用SharedReferences 前几天我这么做了,这是我的解决方案 要保存凭据,请执行以下操作
private void savePreferences() {
SharedPreferences settings = getSharedPreferences("Login",
Context.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
if (remLoginCredentials = true) {
editor.putString("Uname", email.getText().toString());
editor.putString("Pass", password.getText().toString());
editor.putString("Rem", String.valueOf(rememberLogin.isChecked()));
editor.apply();
} else {
editor.putString("Rem", String.valueOf(rememberLogin.isChecked()));
editor.apply();
}
}
要加载凭据,您可以这样做
private void loadPreferences() {
SharedPreferences settings = getSharedPreferences("Login",
Context.MODE_PRIVATE);
if (settings.getString("Rem", null).equals("true")) {
email.setText(settings.getString("Uname", null));
password.setText(settings.getString("Pass", null));
rememberLogin.setChecked(true);
remLoginCredentials = true;
} else {
email.setText("");
password.setText("");
rememberLogin.setChecked(false);
remLoginCredentials = false;
}
}
Firebase会以安全的方式自动保存用户的凭据,并在应用程序重新启动时尝试还原这些凭据。要获取此身份验证状态,请使用身份验证状态更改侦听器,如上文档中的代码第一段所示。如果您是android开发新手,请使用kotlin学习。SharedReferences支持布尔值,您不需要将其存储为字符串编辑。putStringremember,true;
private void loadPreferences() {
SharedPreferences settings = getSharedPreferences("Login",
Context.MODE_PRIVATE);
if (settings.getString("Rem", null).equals("true")) {
email.setText(settings.getString("Uname", null));
password.setText(settings.getString("Pass", null));
rememberLogin.setChecked(true);
remLoginCredentials = true;
} else {
email.setText("");
password.setText("");
rememberLogin.setChecked(false);
remLoginCredentials = false;
}
}