Firebase获取Android数据的价值

时间:2017-09-19 18:31:19

标签: android firebase firebase-realtime-database firebase-authentication

String userID = user.getUid();
mFirebaseDatabase = FirebaseDatabase.getInstance();

我有用户的userId,所以当我第二次打开我的应用程序时(登录后)我不应该显示选择的用户类型布局。所以我要检查内部使用的是客户还是员工。所以问题是我要检查用户ID是否存在。我无法找到任何方法来获取用户ID是否存在!有一个名为addListenerForSingleValueEvent的方法,但在我的方案中不会帮助我。这里给出了数据库的图片

enter image description here

我不知道如何继续这个

mFirebaseDatabase.getReference().child("Users").child("Customers")

1 个答案:

答案 0 :(得分:2)

要检查Firebase数据库的特定部分中是否存在用户,首先需要添加侦听器,然后直接在exists()对象上使用dataSnapshot方法。因此,假设Users节点是Firebase数据库根目录的直接子节点,请使用以下代码:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference customersRef = rootRef.child("Users").child("Customers").child(userID);
ValueEventListener eventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        if(dataSnapshot.exists()) {
            //do somethig
        } else {
            //do something else
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {}
};
customersRef.addListenerForSingleValueEvent(eventListener);