采用SharedPreferences存储实现记住账号密码功能
时间: 2023-07-13 10:33:37 浏览: 96
使用SharedPreferences实现登录记住密码
好的,你的问题是如何采用SharedPreferences存储实现记住账号密码功能。下面是实现的步骤:
1. 在登录页面添加两个CheckBox,分别表示“记住账号”和“记住密码”功能。
2. 在登录按钮的onClick事件中,判断CheckBox是否被选中,如果是则调用saveAccountAndPassword方法保存账号和密码。
3. 在saveAccountAndPassword方法中,使用SharedPreferences实现数据的存储。具体实现代码如下:
```java
private void saveAccountAndPassword(String account, String password, boolean isRememberAccount, boolean isRememberPassword) {
SharedPreferences sharedPreferences = getSharedPreferences("account_password", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
if (isRememberAccount) {
editor.putString("account", account);
} else {
editor.remove("account");
}
if (isRememberPassword) {
editor.putString("password", password);
} else {
editor.remove("password");
}
editor.apply();
}
```
4. 在登录页面的onCreate方法中,读取SharedPreferences中保存的账号和密码,并将其设置到EditText中。具体实现代码如下:
```java
private void initAccountAndPassword() {
SharedPreferences sharedPreferences = getSharedPreferences("account_password", MODE_PRIVATE);
String account = sharedPreferences.getString("account", "");
String password = sharedPreferences.getString("password", "");
boolean isRememberAccount = sharedPreferences.getBoolean("is_remember_account", false);
boolean isRememberPassword = sharedPreferences.getBoolean("is_remember_password", false);
if (isRememberAccount) {
mAccountEditText.setText(account);
mRememberAccountCheckBox.setChecked(true);
}
if (isRememberPassword) {
mPasswordEditText.setText(password);
mRememberPasswordCheckBox.setChecked(true);
}
}
```
在上述代码中,is_remember_account和is_remember_password是用来记录CheckBox是否被选中的。
以上就是使用SharedPreferences实现记住账号密码功能的步骤,希望能对你有所帮助。
阅读全文