Firebase onDataChange不执行

时间:2019-08-21 11:48:53

标签: java android firebase firebase-realtime-database

我想从Firebase读取数据。在调试模式下执行代码时,onDataChange无法执行。其次,我不确定我是否正确调用了getValue。我的数据库结构如下:

users
--userdID
-----email
-----mobile
-----name

此功能是否异步工作? 我不知道如何等待回复。

此处的代码:

public String getMobile (){


        String userKey = user.getUid();
        DatabaseReference dbUser = mDatabase.child("users").child(userKey);

        dbUser.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                DataSnapshot ds = (DataSnapshot) dataSnapshot.getChildren();
                mobileNumber = ds.child("mobile").getValue(String.class);
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });

        if (mobileNumber == null) {
            return null;
        } else {
            return mobileNumber;
        }

    }

我已经检查过我有一个要在数据库中检索的值,但是代码始终返回null

0 个答案:

没有答案