我想在 Firebase 数据库中保存我的用户的一些信息。我是这样做的:
FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
DatabaseReference mRootReference = firebaseDatabase.getReference();
DatabaseReference mHeadingRefrence = mRootReference.child("heading");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
headign = (EditText) findViewById(R.id.input);
btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String h = headign.getText().toString();
mHeadingRefrence.setValue(h);
headign.setText("");
}
});
}
但是当用户将此字符串发送到我的 Firebase 时,他们的信息将在第一行被替换!,但我想从所有用户那里保存这个字符串。问题出在哪儿?
因为 Firebase 是一个 NoSQL 数据库,其结构为键和值对,数据库中的每个节点都是一个Map
. 因此,在 a 的情况下Map
,当您添加数据时,它会用新值替换旧值。
因此,为了实现这一点,您需要使用unique identifier
. 所以你需要改变这行代码:
mHeadingRefrence.setValue(h);
和
mHeadingRefrence.push().setValue(h);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句