2017-08-30 75 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

所以,請考慮投票。謝謝! –