数据未发布在Firebase数据库中 [英] Data not posted on firebase database

查看:177
本文介绍了数据未发布在Firebase数据库中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图将节点中的新数据保存在 President 节点下。

 President:{
$ userId:{
.write:auth!= null&& $ userId === auth.uid,
.read:auth.uid!= null
} $




$ p

在我的应用程序中, pre> FirebaseAuth mFirebaseAuth = FirebaseAuth.getInstance();
FirebaseUser mFirebaseUser = mFirebaseAuth.getCurrentUser();
FirebaseDatabase mDatabase = FirebaseDatabase.getInstance();

if(mFirebaseUser == null){

} else {
String mUserId = mFirebaseUser.getUid();
DatabaseReference vRef = mDatabase.getReference(MyFirebaseConstants.DATABASE_President);
DatabaseReference newPresidentRef = vRef.child(mUserId).push();
字符串presidentKey = newPresidentRef.getKey();

总统pres =新总统()// POJO
//其他几个setter

pres.setId(visitorKey);
newPresidentRef.setValue(pres).addOnFailureListener(new OnFailureListener(){
@Override
public void onFailure(@NonNull异常e){
MyLogger.d(保存失败+ e.getMessage());
}
})。addOnSuccessListener(new OnSuccessListener< Void>(){
@Override
public void onSuccess(Void aVoid) b $ b MyLogger.d(succedded);
}
})。isSuccessful();

我的总裁pojo扩展了RealmObject并实现了Parcelable



但是,当我进入我的Firebase控制台时,我看不到任何数据。 onSuccess()永远不会被调用, onFailure()永远不会被调用。

问题是我的设备上限制了背景数据。因此数据不会发布到firebase。

我还没有找到更好的方法来检测Android设备上的背景数据限制

I am trying to save new data in firebase under a node President. i have already set some rules on that node.

"President":{
  "$userId":{
    ".write": "auth != null && $userId === auth.uid",
      ".read": " auth.uid != null"
  }
},

In my app

FirebaseAuth mFirebaseAuth = FirebaseAuth.getInstance();
FirebaseUser mFirebaseUser = mFirebaseAuth.getCurrentUser();
FirebaseDatabase mDatabase = FirebaseDatabase.getInstance();

if(mFirebaseUser == null){

}else{
  String mUserId = mFirebaseUser.getUid();
  DatabaseReference vRef = mDatabase.getReference(MyFirebaseConstants.DATABASE_President);
  DatabaseReference newPresidentRef = vRef.child(mUserId).push();
  String presidentKey = newPresidentRef.getKey();

 President pres = new President()//POJO
  // other few setters

  pres.setId(visitorKey);
  newPresidentRef.setValue(pres).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception e) {
      MyLogger.d("failed to save "+e.getMessage());
    }
  }).addOnSuccessListener(new OnSuccessListener<Void>() {
    @Override
    public void onSuccess(Void aVoid) {
      MyLogger.d("succedded");
    }
  }).isSuccessful();

my President pojo extends RealmObject and implements Parcelable

However when i go to my firebase console, i can't see any data. onSuccess() is never called and onFailure() is never called.

解决方案

The issue was that I had restricted background data on my device. therefore data was not posted to firebase.

I haven't yet found a better way to detect background data restriction on android device

这篇关于数据未发布在Firebase数据库中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆