我在Android中使用Firebase数据库。在我的应用程序中有三种类型的用户。其中一个是“驱动程序”,如下面的json树所示,我希望当用户登录时,它会自动从键值对“Role”获取值,以便我可以启动相应的活动。有什么简单的方法可以做到这一点或任何方式吗?
答案 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
,并且不介意该数据是否会更改。