android记住密码怎么写代码?

来源:admin 查看次数: 0 时间:2024-06-16 13:55:42

要实现 Android 记住密码的功能,可以使用 Shared Preferences 来保存用户名和密码,在下次登录时自动填充。

以下是示例代码:

1. 在登录页面布局文件中添加用户名和密码的 EditText:

```

<EditText

  android:id="@+id/usernameEditText"

  android:layout_width="match_parent"

  android:layout_height="wrap_content"

  android:hint="请输入用户名" />

<EditText

  android:id="@+id/passwordEditText"

  android:layout_width="match_parent"

  android:layout_height="wrap_content"

  android:hint="请输入密码"

  android:inputType="textPassword" />

```

2. 在登录页面的 Activity 中使用 Shared Preferences 存储用户名和密码:

```

public class LoginActivity extends AppCompatActivity {

  private EditText usernameEditText;

  private EditText passwordEditText;

  private SharedPreferences mSharedPreferences;

  

  @Override

  protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_login);

    usernameEditText = findViewById(R.id.usernameEditText);

    passwordEditText = findViewById(R.id.passwordEditText);

    mSharedPreferences = getSharedPreferences("userInfo", MODE_PRIVATE);

    

    // 判断是否需要自动填充用户名和密码

    if (mSharedPreferences.getBoolean("rememberPassword", false)) {

      String savedUsername = mSharedPreferences.getString("username", "");

      String savedPassword = mSharedPreferences.getString("password", "");

      usernameEditText.setText(savedUsername);

      passwordEditText.setText(savedPassword);

    }

  }

  

  public void login(View view) {

    // 在登录成功后,判断是否需要记住用户名和密码

    String username = usernameEditText.getText().toString();

    String password = passwordEditText.getText().toString();

    if (rememberPassword.isChecked()) {

      mSharedPreferences.edit()

        .putBoolean("rememberPassword", true)

        .putString("username", username)

        .putString("password", password)

        .apply();

    }

    // 省略登录逻辑

  }

}

```

在上述代码中,userInfo 为 SharedPreferences 的文件名,可以根据具体需求更改。

这样,用户登录成功后,如果勾选了“记住密码”,则下次进入登录界面时,用户名和密码会自动填充。