我使用firebase实时数据库存储用户信息。
这是数据库的图片: screenshot of the database
例如,如何根据连接的用户获取值“ nombre_dons”以在应用程序中显示它?我在Java中使用android studio。
预先感谢您的帮助
答案 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区分大小写。我建议您与其他人保持相同。