Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何添加“记住我”复选框_Java_Android_Firebase - Fatal编程技术网

Java 如何添加“记住我”复选框

Java 如何添加“记住我”复选框,java,android,firebase,Java,Android,Firebase,我有一个应用程序,用户需要登录并记住他们的登录,但就我而言,我不明白为什么它不起作用。我对android开发和Java还是新手,我猜一些琐碎的事情对我来说是完全陌生的。如果你能帮我找出为什么我的“记住我”复选框不起作用,我将不胜感激。 谢谢大家! 物流活动 如果您希望应用在关闭应用并重新打开后记住您的凭据,则可以使用SharedReferences 前几天我这么做了,这是我的解决方案 要保存凭据,请执行以下操作 private void savePreferences() { S

我有一个应用程序,用户需要登录并记住他们的登录,但就我而言,我不明白为什么它不起作用。我对android开发和Java还是新手,我猜一些琐碎的事情对我来说是完全陌生的。如果你能帮我找出为什么我的“记住我”复选框不起作用,我将不胜感激。 谢谢大家!

物流活动


如果您希望应用在关闭应用并重新打开后记住您的凭据,则可以使用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;
    }
}