Android : 登录并保存密码

Android 实现简易登录并保存密码。

记住密码以及自动登录的实现主要依赖于 SharedPreferences 类的使用,SharedPreferences 是一个轻量级的存储类,用于存储一些小数据,比如登录账号密码以及状态信息等。

使用工具

  • android studio (ver. 3.5.1)
  • android(sdk 29)
  • java(ver.1.8.0)
  • gradle(ver. 5.4.1)

功能实现

记住密码和自动登录使用 CheckBox 来实现,并设置了全局变量接收当前记住密码以及自动登录的状态。

private EditText etName;
private EditText etPass;
private CheckBox cbIsRememberPass;
private SharedPreferences sharedPreferences;

使用 SharedPreferences 时在页面初始化的时候实例,也就是在 onCreate() 中实现,在实例该类时会在本地创建一个文件,需要给该文件命名。下面是初始化页面时从已存在的文件中读取信息。

sharedPreferences=getSharedPreferences("remenberpass", Context.MODE_PRIVATE);
         boolean isRemenber=sharedPreferences.getBoolean("remenberpass",false);
         if(isRemenber){
             String name=sharedPreferences.getString("name","");
             String pass=sharedPreferences.getString("pass","");
             etName.setText(name);
             etPass.setText(pass);
             cbIsRememberPass.setChecked(true);
         }

给登录按钮点击事件绑定用于验证登录。

public void login(View view){
         String name=etName.getText().toString();
         String pass=etPass.getText().toString();
  			 //测试账号密码均为 123
         if("123".equals(name)&&"123".equals(pass)){
             SharedPreferences.Editor editor=sharedPreferences.edit();
             if(cbIsRememberPass.isChecked()){
                 editor.putBoolean("remenberpass",true);
                 editor.putString("name",name);
                 editor.putString("pass",pass);
             }else {
                 editor.clear();
             }
             editor.commit();
             Intent intent=new Intent(this,login_successful.class);
             startActivity(intent);
             finish();
         }else {
             Toast.makeText(this,"账号或密码有误",Toast.LENGTH_LONG).show();
         }
    }

演示

pic1pic2

代码下载地址

SimpleLogin

posted @ 2020-01-16 19:49  别依梦雨轩  阅读(2603)  评论(0编辑  收藏  举报