在firebase上插入数据

时间:2017-08-30 14:17:19

标签: android firebase firebase-realtime-database

我从编程开始,我有疑问。 首先,我可以在firebase上插入数据,但是,当我尝试插入新数据时,之前插入的数据会更改/更新为新数据。如何在数据之前插入新数据并继续? 其次,如何将firebase上的数据一起插入“主键”? (图中的例子)。 "Primary key" highlighted in image 拥抱。

2 个答案:

答案 0 :(得分:1)

 DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference();
 mDatabase.child("tasks").push().setValue(firebaseData, new DatabaseReference.CompletionListener() {
        @Override
        public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
            //Problem with saving the data
            if (databaseError != null) {

            } else {
                //Data uploaded successfully on the server

               }

            }
    });

答案 1 :(得分:1)

Firebase数据库的结构是键和值。这意味着数据库中的每个节点都是Map。向Firebase添加数据时,请考虑将数据添加到Map。我们知道,Map不允许重复键。这意味着,如果我们使用相同的密钥,则在Map的情况下,会将旧值替换为新值。这意味着每次我们想要添加数据时,我们都需要一个不同的密钥。 Firebase中的做法是使用push()方法,每次调用方法时都会提供唯一键。

要将数据添加到Firebase数据库,请使用以下代码重新编写您的信息:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference tasksRef = rootRef.child("tasks").push();
tasksRef.setValue(taskObject);

您还可以添加CompletionListener以实际查看数据是否已成功添加到数据库中。