我想创建一个 android studio 登录页面,使用数组列表中存储的多个帐户。如何验证写入的用户名和密码与arraylist中存储的用户名和密码是否相同
这是我在 res 中的数组列表:
<string-array name="user">
<item>admin</item>
<item>jhon</item>
</string-array>
<string-array name="pass">
<item>admin</item>
<item>littlejhon</item>
</string-array>
这是我的 Activity 代码:
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.CardView;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import java.util.HashMap;
import java.util.Objects;
public class PassActivity extends AppCompatActivity {
EditText username;
EditText password;
CardView card;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pass);
final String[] use = getResources().getStringArray(R.array.user);
final String[] pas = getResources().getStringArray(R.array.pass);
username = findViewById(R.id.username);
password = findViewById(R.id.password);
card = findViewById(R.id.card);
card.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (Objects.equals(username.getText().toString(), use)
&&
Objects.equals(password.getText().toString(),pas))
{
Toast.makeText(
PassActivity.this,
"You have Authenticated Successfully",
Toast.LENGTH_LONG)
.show();
}
else {
Toast.makeText(
PassActivity.this,
"Authentication Failed",
Toast.LENGTH_LONG)
.show();
}
}
});
}
}
感谢您帮助我,希望有人有这方面的经验。谢谢..
最佳答案
检查数组中的每一对:
public void onClick(View view) {
boolean found = false;
String myUsername = username.getText().toString();
String myPassword = password.getText().toString();
for (int i = 0; i < use.length; i++) {
if (use[i].equals(myUsername) && pas[i].equals(myPassword)) {
Toast.makeText(PassActivity.this,"You have Authenticated Successfully",Toast.LENGTH_LONG).show();
found = true;
break;
}
}
if (!found) {
Toast.makeText(PassActivity.this,"Authentication Failed",Toast.LENGTH_LONG).show();
}
}
关于java - 如何访问字符串数组以在 Activity 中进行用户名身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56124769/