2017-08-30 78 views
0

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

+1

你想使用'推' –

回答

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 

       } 

      } 
    }); 
+0

谢谢!你的答案解决了我的问题:)为你+1。 –

+0

没问题的队友。你能将答案标记为已接受的答案吗?谢谢。 –

1

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

将数据添加到您的火力地堡的数据库,我用下面的代码recomand你:

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

您还可以添加CompletionListener实际上看,如果数据成功添加到数据库中。

+0

谢谢!你的答案解决了我的问题:)为你+1。 –

+0

所以,请考虑投票。谢谢! –