Я новичок в Android Studio. Посмотрев видео, я сделал это приложение для входа в свое приложение, используя идентификатор и пароль, хранящиеся в Firebase. Все, на мой взгляд, в порядке, но когда я запускаю приложение и ввожу идентификатор и пароль (даже правильный), оно вызовет sh.
Я проверил все, но проблема все еще остается. Я сфотографировал Logcat и загрузил сюда.
Это основная активность:
public class MainActivity extends AppCompatActivity {
EditText edtUsername, edtPassword;
Button btnSignIn;
DatabaseReference databaseReference;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
edtUsername=(EditText)findViewById(R.id.edtUsername);
edtPassword=(EditText)findViewById(R.id.edtPassword);
btnSignIn=(Button) findViewById(R.id.btnSignIn);
databaseReference= FirebaseDatabase.getInstance().getReference("Students");
btnSignIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
logIn(edtUsername.getText().toString(),edtPassword.getText().toString());
}
});
}
private void logIn(final String id, final String password) {
databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.child(id).exists()){
if (!id.isEmpty()){
User user=dataSnapshot.child(id).getValue(User.class);
if (user.getPassword().equals(password)){
Toast.makeText(MainActivity.this, "Successful Login", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(MainActivity.this, "Incorrect Password", Toast.LENGTH_SHORT).show();
}
}else{
Toast.makeText(MainActivity.this, "User is Not Registered", Toast.LENGTH_SHORT).show();
}
}else{
Toast.makeText(MainActivity.this, "User is Not Registered", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
}
Это страница User.class:
public class User {
private String id;
private String password;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public User() {
}
}
и это результат журнала :
![Logcat result](https://i.stack.imgur.com/ZAMqt.png)