【发布时间】:2017-01-05 12:35:24
【问题描述】:
我在 Android 中使用 Firebase 数据库。在我的应用程序中有三种类型的用户。其中之一是“驱动程序”,如下面的 json 树所示,我希望当用户登录时,它会自动从键值对“角色”中获取值,以便我可以启动相应的活动。有没有简单的方法或任何方法来做到这一点?
【问题讨论】:
标签: android firebase firebase-realtime-database firebase-authentication
我在 Android 中使用 Firebase 数据库。在我的应用程序中有三种类型的用户。其中之一是“驱动程序”,如下面的 json 树所示,我希望当用户登录时,它会自动从键值对“角色”中获取值,以便我可以启动相应的活动。有没有简单的方法或任何方法来做到这一点?
【问题讨论】:
标签: android firebase firebase-realtime-database firebase-authentication
假设您已检查用户已登录(通过 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。
【讨论】: