Ron*_*on7 9 android firebase firebase-realtime-database
我正在尝试使用DatabaseReference我的FirebaseAndroid应用中添加一个新的孩子.我正在做:
DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference()
mDatabase.child("childToAdd").setValue(1);
Run Code Online (Sandbox Code Playgroud)
我可以使用常规Firebase引用来执行此操作,因为如果不存在,则将子项添加到数据库中.
我怎么能这样做DatabaseReference呢?
编辑:感谢所有的建议,但我遇到以下代码的问题.当它进入if块时,它不会将数据推送到数据库.
https://gist.github.com/rounaksalim95/a5cba332400c6caf8320f15b0cbf06e8
当我使用旧的Firebase参考尝试此操作时,我得到错误代码11(从firebase runloop调用的用户代码),并且使用新的数据库引用,我得到错误代码-3(即使我没有安全规则,PermissionDenied).
更新:
我得到它做我想要使用单值事件监听器:
Firebase userRef = new Firebase(BASEURL + "userData");
userRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.child(user.getUid()).getValue() == null) {
userRef.child(user.getUid()).setValue(1);
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
Run Code Online (Sandbox Code Playgroud)
但是数据库引用不允许我添加这样的值.
Fra*_*len 23
您需要调用push()以为新数据生成唯一键:
DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference()
mDatabase.push().setValue(1);
Run Code Online (Sandbox Code Playgroud)
这会将新值附加到列表的末尾.
通过组合push()和child()方法,您可以在数据库中创建多个子项列表:
mDatabase.child("numbers").push().setValue(1);
mDatabase.child("numbers").push().setValue(53);
mDatabase.child("numbers").push().setValue(42);
mDatabase.child("letters").push().setValue("a");
mDatabase.child("letters").push().setValue("z");
mDatabase.child("letters").push().setValue("c");
Run Code Online (Sandbox Code Playgroud)
请参阅Firebase文档中附加到数据列表的部分.
| 归档时间: |
|
| 查看次数: |
43665 次 |
| 最近记录: |