Если вы хотите сгенерировать новый дочерний узел в местоположении, позвоните push()
на этом DatabaseReference
. Итак, чтобы создать новый дочерний узел в itemdata
:
DatabaseReference data = FirebaseDatabase.getInstance().getReference("itemdata");
DatabaseReference newData = data.push();
Теперь вы можете записать данные в это новое местоположение как:
newData.child("dataname").setValue(datavalue);
newData.child("dataprice").setValue(dataprice);
newData.child("dataquantity").setValue(dataquantity);
Еще одно изменение, которое необходимо рассмотреть это уменьшение количества записей. Ваш текущий код выполняет отдельный setValue()
вызов для каждого свойства. Это работает, но это означает, что любые слушатели будут вызываться три раза, по одному для каждого свойства.
Хотя это может быть тем, что вам нужно, довольно часто хочется, чтобы эти записи отображались как одна операция. Если это так, вы можете выполнить один setValue()
с:
Map<String,Object> values = new HashMap<>();
values.put("dataname", datavalue);
values.put("dataprice", dataprice);
values.put("dataquantity", dataquantity);
newData.setValue(values);
Конечный результат будет точно таким же, как и раньше, но теперь с одной операцией записи.