如何在Firebase中获取子整数的值?

时间:2016-12-21 00:21:13

标签: android firebase firebase-realtime-database

    users
       MOHSdOBElcSdMWp4GwBBSXUVyws2
         email: "abc@abc.com"
         outItems
             1234: "Dec 20, 2016 3:21:24 AM"
             2345: "Dec 20, 2016 2:08:58 AM"
         role: 1
         userName: "abc"

我有这个Firebase Android数据库,我尝试检索角色的值(即1)。

我在引用中添加了一个监听器:

    mDatabase.child("users/userId/role").addValueEventListener(new addValueEventListener() {...});

鉴于它是一个整数/长值,如何通过DataSnapShot获取值?我试图打印掉值,但它说{key is role,value is null}。这是为什么?

以下是我对侦听器的实现:

            mDatabase.child("users/userId/role").addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {

                    Long role = (Long) dataSnapshot.getValue();
                    if (role == 1) {
                        Intent n = new Intent(MainActivity.this, ListItemsActivity.class);
                        startActivity(n);
                    } else
                        showAlertDialog();
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            });

1 个答案:

答案 0 :(得分:1)

您是否有机会忘记用此行中的/userId/替换MOHSdOBElcSdMWp4GwBBSXUVyws2(如您所述)文字?

mDatabase.child("users/userId/role")