Firebase身份验证-显示用户信息

时间:2018-12-24 17:09:30

标签: java android firebase firebase-realtime-database

我使用firebase实时数据库存储用户信息。

这是数据库的图片: screenshot of the database

例如,如何根据连接的用户获取值“ nombre_dons”以在应用程序中显示它?我在Java中使用android studio。

预先感谢您的帮助

2 个答案:

答案 0 :(得分:0)

假设数据库中“用户”内的密钥是Firebase身份验证用户ID,则可以按照以下步骤操作: 1.获取当前用户的UID。 2.获取相同的数据。

使用Javascript-

var uid = firebase.auth().currentUser.uid;
firebase.database().ref('/Users/' + uid).once('value').then(function(snapshot){
    var nombre_dons = snapshot.val().nombre_dons;
});

答案 1 :(得分:0)

数据库Users节点中用户数据的那些父字符串看起来像uid。如果确实如此,那么您要做的就是从特定用户的uid中检索数据。

我的意思在代码中看起来像这样:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Users");

FirebaseAuth mAuth = FirebaseAuth.getInstance();

ref.child(mAuth.getUid()).addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                String data = dataSnapshot.child("nombre_dons").getValue(String.class);

            }

            @Override
            public void onCancelled(DatabaseError databaseError) {
                Log.d(TAG, "onCancelled", databaseError.toException());
            }

   });

我可以在您的数据库映像中看到的一个缺陷是,nombre_dons节点中第二个用户的Users子级具有大写N,这是一个问题,因为Firebase区分大小写。我建议您与其他人保持相同。