Firebase数据库无法写入数据

时间:2017-05-27 13:13:59

标签: android firebase firebase-realtime-database

我正在尝试学习如何将我的Android应用程序连接到firebase数据库。我尝试过以下代码:

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

但是,当我查看Firebase控制台时,没有任何内容可写。我也制定了规则。

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

我错过了什么吗?感谢

2 个答案:

答案 0 :(得分:0)

我有同样的问题,问题是我正在使用模拟器。您必须使用物理设备。

答案 1 :(得分: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");

虽然push方法用于发布新的自定义对象,但Firebase会生成唯一的ID并保存到此类对象的列表中。 注意:Push()方法用于javaScript。

示例: 您的用户对象具有

等属性
Class User{
String name;
String email;
}

要保存此类对象,您只需使用push()方法即可。 Firebase将使用自动生成的唯一ID来保存它。

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

对于JAVA:等效方法是put()方法。