Firebase Android - 更新子值

时间:2018-05-06 09:46:54

标签: android firebase firebase-realtime-database

我现在已经很久了,我知道,还有很多像我这样的问题,但没有任何帮助我。

所以,我只想更新子值(图片)。我正在努力使用Firebase提供的ID。我在这里使用:

DatabaseReference updateData = FirebaseDatabase.getInstance().getReference("userInfos").child(user.getUid();

之后:

updateData.child("vorname").setValue(vName);

但我一直在“userInfos”下获得一个新ID。

有什么建议吗?

谢谢

Picture

1 个答案:

答案 0 :(得分:2)

这里不具体,什么是user.getUid()。你是从firebase auth获得的,还是firebase数据库生成的推送ID。

DatabaseReference updateData = FirebaseDatabase.getInstance()
.getReference("userInfos")
.child(user_id_will_be included_here);

然后

updateData.child("vorname").setValue(vName);

会正常工作。但是在数据库中使用auth id作为userId是更好的做法。它有助于将来检索用户数据。您可以轻松获得该ID

FirebaseUser currentFirebaseUser = FirebaseAuth.getInstance()
.getCurrentUser() ;
Toast.makeText(this, "" + currentFirebaseUser.getUid(), Toast.LENGTH_SHORT).show();