我在Firebase中创建了一个Realtime数据库,如图所示,在我的Android活动中我需要验证,如果CUG移动没有。用户输入的数据与数据库中的任何CUG编号(empcugno)匹配,如果匹配则用户登录。
我面临的问题是:
答案 0 :(得分:1)
要解决此问题,我建议您使用电话号码作为唯一标识符而不是推送ID来更改数据库结构。您的数据库应如下所示:
Firebase-root
|
--- Employees
|
---empcugno1
| |
| --- //details
|
---empcugno2
|
--- //details
要检查数据库中是否存在数字,您可以直接在exists()
对象上使用DataSnapshot
方法,如下所示:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference phoneNumberRef = rootRef.child("Employees").child(enteredPhoneNumber);
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.exists()) {
//do something
} else {
//do something else
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
phoneNumberRef.addListenerForSingleValueEvent(eventListener);