记住我在会话之间的功能

时间:2011-12-08 05:55:19

标签: android session sharedpreferences

当我点击“记住我”复选框时,根据代码,它将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();

        }

3 个答案:

答案 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中活动的生命周期。

相关问题