目的功能:
点击 记住密码时,下次登录时,输入账号,密码自动出现
下面是实现的主要过程:
1、注册时,除了填写用户的一些信息,还需要在数据库中设一个字段,用于判断用户是否已经注册
private int tag;//判断用户是否点击记住密码,默认0
2、往数据库中传递值时,该字段默认为0
当你登录时
3、判断你是否勾选复选框,如果勾选了,就将数据库中字段的值改成1,如没有勾选,则改成0
if(check.isChecked()){
int tag=userDao.queryTag(user);
if(tag==0){
userDao.updateTag(user,1);
}
}else{
int tag=userDao.queryTag(user);
if(tag==1){
userDao.updateTag(user,0);
}
}
4、如果用户输写完账号,焦点一离开,触发事件并去数据库中查询该值,若为1,则直接显示密码,并自动勾选注复选框
eduser.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {//使焦点一离开
user=eduser.getText().toString().trim();
if (hasFocus) {
} else {//如果失去焦点
if(userDao.queryTag(user)==1) {
String pass=userDao.queryPass(user);
edpass.setText(pass);
check.setChecked(true);
}
}
}
});
}
if(check.isChecked()){
int tag=userDao.queryTag(user);
if(tag==0){
userDao.updateTag(user,1);
}
}else{
int tag=userDao.queryTag(user);
if(tag==1){
userDao.updateTag(user,0);
}
}
eduser.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {//使焦点一离开
user=eduser.getText().toString().trim();
if (hasFocus) {
} else {//如果失去焦点
if(userDao.queryTag(user)==1) {
String pass=userDao.queryPass(user);
edpass.setText(pass);
check.setChecked(true);
}
}
}
});
}