Androidstudio账户密码验证登录功能实现使用map类和sharedpreferences类代码
时间: 2024-02-25 13:58:37 浏览: 15
首先,需要在Android Studio中创建一个登录页面,包括两个EditText控件,分别用于输入用户名和密码,还有一个Button按钮用于提交登录信息。在这个页面的Java代码中,使用SharedPreferences类来保存用户的登录信息,使用Map类来验证用户输入的信息是否正确。
下面是一个示例代码:
```
public class LoginActivity extends AppCompatActivity implements View.OnClickListener {
private EditText etUsername, etPassword;
private Button btnLogin;
private SharedPreferences sharedPreferences;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
etUsername = findViewById(R.id.et_username);
etPassword = findViewById(R.id.et_password);
btnLogin = findViewById(R.id.btn_login);
btnLogin.setOnClickListener(this);
sharedPreferences = getSharedPreferences("user_info", MODE_PRIVATE);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_login:
String username = etUsername.getText().toString().trim();
String password = etPassword.getText().toString().trim();
Map<String, String> userInfo = (Map<String, String>) sharedPreferences.getAll();
if (userInfo.containsKey(username) && userInfo.get(username).equals(password)) {
// 登录成功
Toast.makeText(this, "登录成功", Toast.LENGTH_SHORT).show();
} else {
// 登录失败
Toast.makeText(this, "用户名或密码错误", Toast.LENGTH_SHORT).show();
}
break;
}
}
/**
* 保存用户信息
* @param username 用户名
* @param password 密码
*/
private void saveUserInfo(String username, String password) {
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(username, password);
editor.apply();
}
}
```
在这个示例代码中,我们首先定义了三个成员变量,分别是EditText控件etUsername和etPassword,以及Button控件btnLogin,还有一个SharedPreferences对象sharedPreferences,用于保存用户的登录信息。
在onCreate()方法中,我们初始化了控件,并且获取了SharedPreferences对象。在onClick()方法中,我们首先获取到用户输入的用户名和密码,然后使用getAll()方法获取保存在SharedPreferences中的所有用户信息,返回一个Map对象。
接着,我们使用containsKey()方法检查输入的用户名是否存在于Map对象中,如果存在,再使用get()方法获取对应的密码,与用户输入的密码进行比较,如果相等,则登录成功,否则登录失败。
最后,我们定义了一个saveUserInfo()方法,用于保存用户的登录信息。在实际的应用中,可以在注册页面或者设置页面中调用这个方法来保存用户的信息。