在Android上检索用户数据Firebase

时间:2016-06-14 22:26:53

标签: android authentication firebase

有没有办法从通过ID?通过firebase进行身份验证的特定用户检索数据?

例如,检索姓名,照片等信息。

提前致谢。

1 个答案:

答案 0 :(得分:6)

这是我给出的here

的iOS答案的更多端口

Firebase使用FIRAuth Clases / API

为用户提供身份验证

但是,无法使用 Firebase数据库等自定义字段对其进行编辑。

要允许用户使用自定义字段,您需要使用您在用户身份验证中收到的相同唯一uid复制数据库中的用户。像这样的东西

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
  // User is signed in
   String name = user.displayName;
   String email = user.email;
   String photoUrl = user.photoURL;
   String uid = user.uid;


    FirebaseDatabase database = FirebaseDatabase.getInstance();
    String key = database.getReference("users").push().getKey();

    Map<String, Object> childUpdates = new HashMap<>();
    childUpdates.put( "uid", uid);
    childUpdates.put( "name", name);
    // other properties here

    database.getReference("users").updateChildren(childUpdates, new DatabaseReference.CompletionListener() {
        @Override
        public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
            if (databaseError == null) {

            }
        }
    });
} 

我们在数据库的users终点推送它,并使用uid键推送到以下行/users/\(key)

现在,您可以通过查询代码中的任何位置来检索数据库中的用户详细信息。