【问题标题】:Firebase Android, get only one key value pairFirebase Android,只获取一个键值对
【发布时间】:2017-01-05 12:35:24
【问题描述】:

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

【问题讨论】:

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


    【解决方案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

    【讨论】:

      猜你喜欢
      • 2016-01-21
      • 2015-08-14
      • 1970-01-01
      • 1970-01-01
      • 2018-04-16
      • 1970-01-01
      • 1970-01-01
      • 2020-05-17
      相关资源
      最近更新 更多