2017-05-27 131 views
0

我試圖學習如何將我的android應用程序連接到firebase數據庫。我試過以下代碼:Firebase數據庫沒有寫入數據

mDatabase = FirebaseDatabase.getInstance().getReference(); 
productCloudEndPoint = mDatabase.child("Sample"); 
productCloudEndPoint.push().setValue("Hello World"); 

但是,當我查看Firebase控制檯時,沒有任何內容會寫入。我也制定了規則。

{ 
    "rules": { 
    ".read": true, 
    ".write": true 
    } 
} 

我錯過了什麼嗎?謝謝

+0

你會嘗試productCloudEndPoint.push()。child(「value」)。setValue(「Hello World」); –

+2

很難說這段代碼有什麼問題。您的logcat是否顯示任何相關的警告/錯誤消息? –

+0

您是否在嘗試執行此代碼時進行身份驗證?還嘗試更改:productCloudEndPoint.push()。setValue(「Hello World」);到:productCloudEndPoint.setValue(「Hello World」); –

回答

0

我有同樣的問題,問題是我使用模擬器。你必須使用物理設備。

0

當您使用set()方法時,不要使用push方法,set()方法會將該值設置爲引用。

例如:

<database-ref>/users/{UserId}/ 
username: {name} 

查詢將是:

mDatabase.child("users").child(userId).child("username").setValue(name); 

你的情況:

mDB.child("sample").setValue("Hello World"); 

雖然用於發佈新的自定義對象推送方法,火力地堡生成唯一的ID和保存到這些對象的列表中。 注意:Push()方法用於javaScript。

實施例: 您有像

Class User{ 
String name; 
String email; 
} 

具有屬性的用戶對象要保存這樣的對象,則可以簡單地使用push()方法。 Firebase將使用自動生成的唯一Id進行保存。

<db-ref>/users/{uniqueId}/ 

對於JAVA:等價的方法是put()方法。