Firebase Android,只获得一个键值对

时间:2017-01-04 16:47:14

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

我在Android中使用Firebase数据库。在我的应用程序中有三种类型的用户。其中一个是“驱动程序”,如下面的json树所示,我希望当用户登录时,它会自动从键值对“Role”获取值,以便我可以启动相应的活动。有什么简单的方法可以做到这一点或任何方式吗?

Database Structure

1 个答案:

答案 0 :(得分:1)

假设您已检查该用户已登录(通过Firebase身份验证)并且Driver Information的随机密钥子项是用户uid,那么它应该是这样的:

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

FirebaseDatabase.getInstance().getReference("Driver Information/" + user.getUid() + "/Role")
        .addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                String role = dataSnapshot.getValue(String.class);

                // do someting with role
            }

            ...
        });

注意:如果您想仅获取一次数据,请将addValueEventListener替换为addListenerForSingleValueEvent,并且不介意该数据是否会更改。