Android实现记住密码功能

登录界面:activity_login.xml

<LinearLayout
     android:orientation="horizontal"
     android:layout_width="match_parent"
     android:layout_height="wrap_content" >
     <CheckBox
          android:id="@+id/remember_pass"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content" />
     <TextView
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:textSize="18sp"
          android="Remember password" />
</LinearLayout>

修改LoginActivity.java

private SharedPreferences pref;
private SharedPreferences.Editor editor;
private CheckBox cbRemember;    

//简单定义对象

oncreate()方法中

pref=PreferenceManager.getDefaultSharedPreferences(this);//获取SharedPreferences对象

boolean isRemember=pre.getBoolean("remember_password",false);
if(isremember){
   //将账号密码复制到文本框中
  String username= pref.getString ("username","");
  String password = pref.getString ("password","");
  accountEdit.setText(username);
  rememberPass.setChecked(true);
}
 

//登录按钮的点击事件里面,先检测账号密码是否在数据库中,存在则保存,不存在则清除,重新输入

//if判断语句里

String account= accountEdit.getText().toString();//获取用户名
String password= passwordEdit.getText().toString();//获取密码
if(/*...账号密码是在数据库中...*/){
    editor = pref.edit();
    if(rememberPass.isChecked()){//检查复选框是否被选中
        editor.putBoolean("remember_password",true);
        editor.putString("username",account);
        editor.putString("password",password);
      }else{
           editor.clear();}
       editor.apply();
  //.....
}

         登陆成功之后,会调用CheckBox的isCheck()方法来检查复选框是否被选中,如若选中,则将remember_paaword设置为true,然后把账号密码对应的值写入SharePreferencees文件中并提交。若没有选中,就简单调用clear()方法,并清除掉SharePreferencees的单件中的数据。

         

          

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现记住密码功能的主要思路是在登录界面添加一个复选框,用户勾选后将用户名和密码保存在本地,下次打开应用时自动填充用户名和密码。 以下是实现步骤: 1. 在登录界面布局中添加一个复选框,用于用户选择是否记住密码。 ``` <CheckBox android:id="@+id/remember_checkbox" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="记住密码" /> ``` 2. 在登录按钮的点击事件中判断是否勾选了记住密码复选框,如果勾选了,则将用户名和密码保存在SharedPreferences中。 ``` Button loginButton = findViewById(R.id.login_button); loginButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String username = usernameEditText.getText().toString(); String password = passwordEditText.getText().toString(); // 判断是否勾选了记住密码 if (rememberCheckbox.isChecked()) { SharedPreferences.Editor editor = getSharedPreferences("user", MODE_PRIVATE).edit(); editor.putString("username", username); editor.putString("password", password); editor.apply(); } // 登录操作 // ... } }); ``` 3. 在登录界面的onCreate方法中读取SharedPreferences中保存的用户名和密码,并自动填充到输入框中。 ``` SharedPreferences sharedPreferences = getSharedPreferences("user", MODE_PRIVATE); String savedUsername = sharedPreferences.getString("username", ""); String savedPassword = sharedPreferences.getString("password", ""); if (!TextUtils.isEmpty(savedUsername)) { usernameEditText.setText(savedUsername); } if (!TextUtils.isEmpty(savedPassword)) { passwordEditText.setText(savedPassword); } ``` 以上就是实现记住密码功能的基本步骤。需要注意的是,保存密码时应该加密处理,以保证用户的密码安全。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值