记住密码功能

    private EditText user_account_edit, user_pass_edit;
    private SharedPreferences pref;
    public SharedPreferences mSharedPreferences;
    private CheckBox rememberPass; 

onCreate()方法中:获取sp实例,调用 setRemember()方法,根据CheckBox 控件是否被选中进行判断,如果是选中,就从sp中取出用户名密码设置到界面上。点击登录按钮时,则调用 savedUsers()保存用户名密码到sp

       findViewById(R.id.login_btn).setOnClickListener(this);
       user_account_edit = (EditText) findViewById(R.id.user_account_edit);
       user_pass_edit = (EditText) findViewById(R.id.user_pass_edit);
       rememberPass = (CheckBox) findViewById(R.id.remember_pass);  

      mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
      setRemember();

  /**
         * 设置记住用户名和密码
         */
        private void setRemember() {
            if (isRemembered()) {
                String nameFromLog = mSharedPreferences.getString("nameFromLog","");
                String passFromLog = mSharedPreferences.getString("passFromLog","");
                user_account_edit.setText(nameFromLog);
                user_pass_edit.setText(passFromLog);
                rememberPass.setChecked(true);
            }
        }

 

  /**
         *  获取记住密码的状态
         */
        private boolean isRemembered() {
            return mSharedPreferences.getBoolean("isRemembered",false);
        }


        /**
         *  保存用户数据到Share
         */
        private void savedUsers() {
            SharedPreferences.Editor editor = mSharedPreferences.edit();
            editor.putString("nameFromLog",user_account_edit.getText().toString().trim());
            editor.putString("passFromLog",user_pass_edit.getText().toString().trim());  
            if (rememberPass.isChecked()) {
                editor.putBoolean("isRemembered", true);
            }else {
                editor.putBoolean("isRemembered", false);
            }
            editor.commit();
        }

转载于:https://www.cnblogs.com/huangahuo/p/7382399.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值