登陆页面的记住账号和密码

首先配置登陆的xml文件,设置两个EditText和一个Button以及一个CheckBox;
配置代码如下:




    






    

    






    
    
然后配置MainActicity页面代码,其中最主要的内容是对button设置点击监听事件,如果监听到被点击之后需要执行一下操作, 首先,检测CheckBox是否被选中调用的是checkbox中的ischecked方法,在通过if语句如果被选中的话需要对输入的账号密码进行记住操作。 记住密码的最关键操作是**SharedPreferences**本项目运用这个方法可以实现保存用户名和密码,数据存放很像Map集合,以键值对的方式存放关键代码如下 :SharedPreferences config=config.getSharedPreferences("config",MODE_PRIVATE);其中config是文件名,MODE_PRIVATE是文件的权限。 然后通过定义编辑器,获得编辑这个文件的编辑器;主要代码如下 Editor editor=config.edit(); //获得编辑这个文件的编辑器 editor.putString("username",et_userName); //利用编辑器编辑内容 editor.commit()//调用这个放发保存数据。 具体执行代码如下:

public class MainActivity extends AppCompatActivity {
private EditText et_userName;
private EditText et_passWord;
private CheckBox cbox_remember;
private Button btn_login;
private SharedPreferences config;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    config = getSharedPreferences("config", MODE_PRIVATE);
    et_passWord = findViewById(R.id.et_passWord);
    et_userName = findViewById(R.id.et_userName);
    cbox_remember = findViewById(R.id.cbox_remember);
    btn_login = findViewById(R.id.btn_login);
    boolean isChecked = config.getBoolean("isChecked", false);
    if (isChecked) {
        et_userName.setText(config.getString("username", ""));
        et_passWord.setText(config.getString("password", ""));

    }
    cbox_remember.setChecked(isChecked);

    btn_login.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            SharedPreferences.Editor editor = config.edit();
            String username = et_userName.getText().toString();
            String password = et_passWord.getText().toString();
            boolean isChecked = cbox_remember.isChecked(); //获取是否被选中
            editor.putBoolean("isChecked", isChecked);   //将是否选中的信息存到编辑器中去
            if (cbox_remember.isChecked()) {
                editor.putString("username", username).putString("password", password);

            } else {
                editor.remove("username").remove("password");

            }
            editor.commit();
            Toast.makeText(MainActivity.this, "登陆成功", Toast.LENGTH_SHORT).show();
        }
    });
}

}

你可能感兴趣的:(Android)