情景
在用户第一次登录时,根据他的选择是否将密码保存在本地,并在下次打开应用时自动填充
解决方法
使用SharedPreferences本地储存
//判断是否为第一次登录
val prefs = getSharedPreferences("data",Context.MODE_PRIVATE)
val prefsEdit = getSharedPreferences("data",Context.MODE_PRIVATE).edit()
val isRemember = prefs.getBoolean("remember_password",false)
//读取之前的密码
if (isRemember){
Log.d("Login.out","isRemember = $isRemember")
val username = prefs.getString("account","")
val password = prefs.getString("password","")
loginBinding.usernameEdit.setText(username)
loginBinding.passwordEdit.setText(password)
loginBinding.rememberPass.isChecked = true
}
使用checkbox
要设置checkbox
的点击监听事件!!
然后再判断他是否被选上
loginBinding.rememberPass.setOnClickListener {
//用户选择记住密码 将用户名和密码保存在本地
if (loginBinding.rememberPass.isChecked){
Log.d("Login.out","isRememberPass = $isRemember")
prefsEdit.putBoolean("remember_password",true)
prefsEdit.putString("account",loginBinding.usernameEdit.text.toString())
prefsEdit.putString("password",loginBinding.passwordEdit.text.toString())
prefsEdit.apply() //这一句别忘了
}
}