Android 实现记住账号密码

清疚 2022-01-23 11:35 400阅读 0赞

首先创建一个界面

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:app="http://schemas.android.com/apk/res-auto"
  4. xmlns:tools="http://schemas.android.com/tools"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. tools:context=".LoginActivity"
  8. android:orientation="vertical">
  9. <EditText
  10. android:id="@+id/loginEdt"
  11. android:layout_width="match_parent"
  12. android:layout_height="wrap_content"
  13. android:hint="请输入用户名"/>
  14. <EditText
  15. android:id="@+id/passwordEdt"
  16. android:layout_width="match_parent"
  17. android:layout_height="wrap_content"
  18. android:hint="请输入密码"/>
  19. <Button
  20. android:id="@+id/loginBtn"
  21. android:layout_width="wrap_content"
  22. android:layout_height="wrap_content"
  23. android:text="登录"/>
  24. <CheckBox
  25. android:id="@+id/saveChb"
  26. android:layout_width="wrap_content"
  27. android:layout_height="wrap_content"
  28. android:text="save"/>
  29. </LinearLayout>

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1kxMTcyMjE1Nzg0_size_16_color_FFFFFF_t_70

先附上源代码

  1. package com.example.administrator.ch05_2;
  2. import android.content.Intent;
  3. import android.content.SharedPreferences;
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import android.widget.Button;
  8. import android.widget.CheckBox;
  9. import android.widget.EditText;
  10. import android.widget.Toast;
  11. public class LoginActivity extends AppCompatActivity implements View.OnClickListener{
  12. private Button loginBtn;
  13. private EditText loginEdt;
  14. private EditText passwordEdt;
  15. private CheckBox saveChb;
  16. @Override
  17. protected void onCreate(Bundle savedInstanceState) {
  18. super.onCreate(savedInstanceState);
  19. setContentView(R.layout.activity_login);
  20. loginEdt = findViewById(R.id.loginEdt);
  21. passwordEdt = findViewById(R.id.passwordEdt);
  22. loginBtn = findViewById(R.id.loginBtn);
  23. saveChb = findViewById(R.id.saveChb);
  24. loginBtn.setOnClickListener(this);
  25. SharedPreferences sp2=getSharedPreferences("Logindb",MODE_PRIVATE);
  26. if(sp2.getBoolean("save",false)==true ){ //判断是否写入了数值save==true
  27. getDB();
  28. }
  29. }
  30. @Override
  31. public void onClick(View v) {
  32. switch (v.getId()){
  33. case R.id.loginBtn:
  34. if(saveChb.isChecked()){ //当多选按钮按下时执行报损数据
  35. saveDB();
  36. }
  37. else {
  38. clearDB();
  39. }
  40. if(loginEdt.getText().toString().trim().length()==0){
  41. Toast.makeText(LoginActivity.this,"用户名密码不能为空",Toast.LENGTH_LONG).show();
  42. }
  43. else {
  44. Intent intent=new Intent(LoginActivity.this,MainActivity.class);
  45. startActivity(intent);
  46. }
  47. finish();
  48. break;
  49. }
  50. }
  51. //清除
  52. private void clearDB(){
  53. SharedPreferences sp=getSharedPreferences("Logindb",MODE_PRIVATE);
  54. SharedPreferences.Editor editor=sp.edit();
  55. editor.clear();
  56. editor.commit();
  57. }
  58. //保存数据
  59. private void saveDB(){
  60. SharedPreferences sp=getSharedPreferences("Logindb",MODE_PRIVATE);
  61. SharedPreferences.Editor editor=sp.edit();
  62. editor.putString("loginEdt",loginEdt.getText().toString());
  63. editor.putString("passwordEdt",passwordEdt.getText().toString());
  64. editor.putBoolean("save",true);
  65. editor.commit(); //写入数据
  66. Toast.makeText(LoginActivity.this,"sd",Toast.LENGTH_LONG).show();
  67. }
  68. //读取数据
  69. private void getDB(){
  70. SharedPreferences sp=getSharedPreferences("Logindb",MODE_PRIVATE);
  71. String name= sp.getString("loginEdt","");
  72. String password=sp.getString("passwordEdt","");
  73. loginEdt.setText(name);
  74. passwordEdt.setText(password);
  75. }
  76. }

发表评论

表情:
评论列表 (有 0 条评论,400人围观)

还没有评论,来说两句吧...

相关阅读