我正在Android应用程序中实现登录屏幕.有"记住我"和"自动登录"的复选框".请建议实现此功能的方法?
为了记住我,使用共享首选项将其存储在本地(布尔值 - TRUE或FALSE).如果选中该复选框,则再次使用共享首选项将用户名,密码存储在内存中.打开应用程序时,请检查共享首选项是否可以为用户名和密码指定值.如果是,则可以自动启动登录过程.否则只显示登录屏幕.明确?
编辑 -
使用此选项可将值存储在登录按钮的onClickListener中
SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
SharedPreferences.Editor prefsEditor = myPrefs.edit();
prefsEditor.putString("LOGIN_ID", username_field.getText().toString());
prefsEditor.putString("LOGIN_PSWD", password_field.getText().toString());
prefsEditor.putBoolean("REMEMBER", checkbox.isChecked());
prefsEditor.commit();
Run Code Online (Sandbox Code Playgroud)
再次,在应用程序启动时,使用此代码读取值并登录 -
SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
boolean isRemember = myPrefs.getBoolean("REMEMBER", false);
if(!isRemember)
//Go to login screen.
else
{
String id = myPrefs.getString("LOGIN_ID", "");
String pswd = myPrefs.getString("LOGIN_PSWD", "");
//try to autologin now with these values
}
Run Code Online (Sandbox Code Playgroud)