您的位置:首页 > 移动开发 > Android开发

Android自动登录与记住密码

2015-10-27 16:05 453 查看
// 获取实例对象
sp = this.getSharedPreferences("userInfo", Context.MODE_WORLD_READABLE);
rem_pw = (CheckBox) findViewById(R.id.cb_mima);
auto_login = (CheckBox) findViewById(R.id.cb_auto);

// 判断记住密码多选框的状态
if (sp.getBoolean("ISCHECK", false)) {
// 设置默认是记录密码状态
rem_pw.setChecked(true);
username.setText(sp.getString("USER_NAME", ""));
Log.v("testtest", sp.getString("USER_NAME", ""));
password.setText(sp.getString("PASSWORD", ""));
Log.v("testtest", sp.getString("PASSWORD", ""));
// 判断自动登陆多选框状态
if (sp.getBoolean("AUTO_ISCHECK", false)) {
// 设置默认是自动登录状态
auto_login.setChecked(true);
// 跳转界面
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
LoginActivity.this.startActivity(intent);

}
}

// 登录成功和记住密码框为选中状态才保存用户信息
if (rem_pw.isChecked()) {
// 记住用户名、密码、
Editor editor = sp.edit();
editor.putString("USER_NAME", user);
editor.putString("PASSWORD", pwd);
editor.commit();
}

// 监听记住密码多选框按钮事件
rem_pw.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (rem_pw.isChecked()) {

System.out.println("记住密码已选中");
Log.v("testtest", "记住密码已选中");
sp.edit().putBoolean("ISCHECK", true).commit();

}
else {

System.out.println("记住密码没有选中");
Log.v("testtest", "记住密码没有选中");
sp.edit().putBoolean("ISCHECK", false).commit();

}

}
});
// 监听自动登录多选框事件
auto_login.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (auto_login.isChecked()) {
System.out.println("自动登录已选中");
Log.v("testtest", "自动登录已选中");
sp.edit().putBoolean("AUTO_ISCHECK", true).commit();

}
else {
System.out.println("自动登录没有选中");
Log.v("testtest", "自动登录没有选中");
sp.edit().putBoolean("AUTO_ISCHECK", false).commit();
}
}
});

}


SharedPreferences

getBoolean(String key, boolean defValue):获取Boolean型数据

参数说明:boolean defValue 没有设置这个值,配置文件中没有  默认的返回值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: