用户登录记住密码功能的实现

首先先做好布局,在layout文件夹下使用水平布局和线性布局创建页面.我创建的截图如下

在login_top.xml文件下建立记住密码checkbox和登录Button.完成页面的布局.大致如下(可能有缺陷)

然后我们要考虑实现功能当用户选中了记住密码复选框后,并成功登录后,下次登录会自动记住密码.直接显示在复选框中,不用重复输入密码.如果密码不正确,需要重新登录.

然后我们需要做页面布局.页面布局在activity文件和login文件中实现,大致如下:

这样的话布局我们已经设计好,下面要进行MainActivity文件的编写,需要记住密码后下次登录之后可以自动登录.

代码如下:

  1. public class LoginActivity extends AppCompatActivity implements View.OnClickListener{  
  2.     private EditText etName=null;  
  3.     private  EditText etPass=null;  
  4.     private Button etLogin=null;  
  5.     private CheckBox etCheckBox=null;  
  6.     SharedPreferences sharedPreferences=null;  
  7.     @Override  
  8.     protected void onCreate(Bundle savedInstanceState) {  
  9.         super.onCreate(savedInstanceState);  
  10.         setContentView(R.layout.activity_login);  
  11.         sharedPreferences=getSharedPreferences("userInfo",MODE_PRIVATE);  
  12.         initView();  
  13.     }  
  14.   
  15.   
  16.     private void initView() {  
  17.         etName=(EditText) findViewById(R.id.etName);  
  18.         etPass=(EditText)findViewById(R.id.etPass);  
  19.         etLogin=(Button)findViewById(R.id.etLogin);  
  20.         etCheckBox=(CheckBox)findViewById(R.id.etCheckBox);  
  21.         if(sharedPreferences.getBoolean("checkboxBoolean",false)){  
  22.             etName.setText(sharedPreferences.getString("etName",""));  
  23.             etPass.setText(sharedPreferences.getString("etPass",""));  
  24.             etCheckBox.setChecked(true);  
  25.         }  
  26.        findViewById(R.id.etLogin).setOnClickListener(this);  
  27.     }  
  28.      public void onClick(View view){  
  29.          String Name=etName.getText().toString();  
  30.          String Pass=etPass.getText().toString();  
  31.          if(Name.isEmpty()){  
  32.              Toast.makeText(this,"请输入账号",Toast.LENGTH_SHORT);  
  33.              return;  
  34.          }  
  35.          if(Pass.isEmpty()){  
  36.              Toast.makeText(this,"请输入密码",Toast.LENGTH_SHORT);  
  37.              return;  
  38.          }  
  39.          if("gls".equals(Name)&&"123".equals(Pass){  
  40.            boolean CheckLogin=etCheckBox.isChecked();  
  41.            if(CheckLogin){  
  42.              SharedPreferences.Editor editor=sharedPreferences.edit();  
  43.              editor.putString("etName","Name");  
  44.              editor.putString("etPass","pass");  
  45.              editor.putBoolean("checkboxBoolean",true);  
  46.              editor.commit();  
  47.            }  
  48.            else{  
  49.              SharedPreferences.Editor editor=sharedPreferences.edit();  
  50.              editor.putString("etName","");  
  51.              editor.putString("etPass","");  
  52.              editor.putBoolean("checkboxBoolean",false);  
  53.              editor.commit();  
  54.            }  
  55.          Intent intent=new Intent(LoginActivity.this,ContentActivity.class);  
  56.          startActivity(intent);  
  57.          finish();  
  58.          }else{  
  59.             Toast.makeText("this","账号或者密码有误",Toast.LENGTH_LONG);  
  60.          }  
  61.      }  
  62. }
  1. 这样之后就可以实现功能了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值