Firebase数据库没有写入数据
问题描述:
我试图学习如何将我的android应用程序连接到firebase数据库。我试过以下代码:Firebase数据库没有写入数据
mDatabase = FirebaseDatabase.getInstance().getReference();
productCloudEndPoint = mDatabase.child("Sample");
productCloudEndPoint.push().setValue("Hello World");
但是,当我查看Firebase控制台时,没有任何内容会写入。我也制定了规则。
{
"rules": {
".read": true,
".write": true
}
}
我错过了什么吗?谢谢
答
我有同样的问题,问题是我使用模拟器。你必须使用物理设备。
答
当您使用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()方法。
你会尝试productCloudEndPoint.push()。child(“value”)。setValue(“Hello World”); –
很难说这段代码有什么问题。您的logcat是否显示任何相关的警告/错误消息? –
您是否在尝试执行此代码时进行身份验证?还尝试更改:productCloudEndPoint.push()。setValue(“Hello World”);到:productCloudEndPoint.setValue(“Hello World”); –