数据未发布在Firebase数据库中 [英] Data not posted on firebase database
问题描述
我试图将节点中的新数据保存在 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屋!