我想检查数据库中的用户是否存在。对于这行代码,它表示它存在,也表示它不存在。如果名称存在于某个寄存器中,我想将代码设置为只读
enter image description here
Firebase数据库
private void Criar_Conta() {
databaseReference_users.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
if (snapshot.child("usuario").getValue().equals(Usuario.getText().toString()) && snapshot.getKey().equals(Usuario.getText().toString()) && snapshot.getKey().equals(snapshot.child("usuario").getValue())) {
Toast.makeText(Sign_Up.this, "Usuário Existente", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(Sign_Up.this, "Gravar ...", Toast.LENGTH_SHORT).show();
//Gravar_Dados();
}
}
} else {
Gravar_Dados();
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Toast.makeText(Sign_Up.this, databaseError.getMessage(), Toast.LENGTH_LONG).show();
Swipe.setRefreshing(true);
}
});
2条答案
按热度按时间flvtvl501#
这是我的代码示例,希望对您有所帮助
r6vfmomb2#
为了能够检查数据库中是否存在特定用户,您应该只执行get(),而不附加ValueEventListener。假设用户是Firebase实时数据库根目录的直接子级,在代码中,将非常简单: