【发布时间】:2021-03-23 15:43:24
【问题描述】:
我第一次尝试使用实时数据库。设定值功能对我不起作用。
我已经通过以下方式更新了写作规则:
{
"rules": {
".read": true,
".write": true
}
}
我的代码如下所示:
Integer Age = 24;
FirebaseDatabase mDatabase = FirebaseDatabase.getInstance();
DatabaseReference sReference = mDatabase.getReference();
sReference.child("Users").child("George").child("Age").setValue(Age)
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Toast.makeText(Dashboard.this, "Data stored", Toast.LENGTH_LONG).show();
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(Dashboard.this, "Error", Toast.LENGTH_LONG).show();
}
});
当我打印出参考时,它是正确的。但是 OnSucces 和 OnFailure 都没有被触发。
感谢您的帮助。
【问题讨论】:
-
会不会是事件附加到它的时间晚于执行的操作,集合是否发生得更早?可以按照教程推荐的方式来做吗? firebase.google.com/docs/database/web/read-and-write
-
如果 OnSucces 和 OnFailure 都没有被触发,那么很可能您的设备上没有互联网连接。
-
@AlexMamo 我认为互联网连接不是问题,因为身份验证工作正常,我也在模拟器上尝试过
-
@AntonKrug 这是第一次出现这个场景,也尝试了各种模板编写代码
-
您能否enable debug logging 并检查您的应用程序在
setValue调用发生时的logcat 输出是否有任何相关消息?
标签: android firebase-realtime-database