SharedPreferences 自动登陆 记住密码

public class MainActivity extends Activity implements OnClickListener {

	private EditText edit_name;
	private EditText edit_pwd;
	private CheckBox check_mima;
	private CheckBox check_login;
	private Button btn_login;
	private SharedPreferences sp;
	private Editor editor;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		// 初始化控件
		initView();
		// 进行取值
		sp = getSharedPreferences("remember_pwd", Context.MODE_PRIVATE);
		editor = sp.edit();
		boolean sp_pwd = sp.getBoolean("remember_pwd", false);
		boolean sp_login = sp.getBoolean("remember_login", false);
		// 把状态值给CheckBox
		check_mima.setChecked(sp_pwd);
		if (sp_pwd) {// 记住密码
			String name = sp.getString("name", "");
			String pwd = sp.getString("pwd", "");
			edit_name.setText(name);
			edit_pwd.setText(pwd);
		}
		if (sp_login) {// 自动登录
			Intent intent = new Intent(MainActivity.this, LoginActivity.class);
			startActivity(intent);
			finish();
		}
		btn_login.setOnClickListener(this);
		check_login.setOnCheckedChangeListener(new OnCheckedChangeListener() {
			@Override
			public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
				editor.putBoolean("remember_login", isChecked);
				editor.commit();
			}
		});
	}

	private void initView() {
		edit_name = (EditText) findViewById(R.id.edit_name);
		edit_pwd = (EditText) findViewById(R.id.edit_pwd);
		check_mima = (CheckBox) findViewById(R.id.check_mima);
		check_login = (CheckBox) findViewById(R.id.check_login);
		btn_login = (Button) findViewById(R.id.btn_login);
	}

	@Override
	public void onClick(View v) {
		// 获取输入的用户名,密码
		String name = edit_name.getText().toString();
		String pwd = edit_pwd.getText().toString();
		if (TextUtils.isEmpty(name)) {
			Toast.makeText(MainActivity.this, "用户名不能为空", 0).show();
		} else if (TextUtils.isEmpty(pwd)) {
			Toast.makeText(MainActivity.this, "密码不能为空", 0).show();
		} else {
			if (check_mima.isChecked()) {// 选中
				editor.putString("name", name);
				editor.putString("pwd", pwd);
				editor.putBoolean("remember_pwd", true);
			} else {
				editor.clear();
			}
			editor.commit();
			// 登录跳转
			Intent intent = new Intent(MainActivity.this, LoginActivity.class);
			startActivity(intent);
			finish();
		}
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值