2

後使用默認的規則寫入到我的實時數據庫:無法寫入火力地堡變化規律

{ 
"rules": { 
".read": "true", 
".write": "true" 
} 
} 

我能夠成功地將數據保存到數據庫中:

enter image description here

從我的Android應用程序的代碼是這樣的:

DatabaseReference mDatabaseReference; 
    mDatabaseReference = DatabaseReference.getInstance().getReference(); 
    ... 
    mDatabaseReference.child("user").child(user.getUid()).setValue(user); 

卜t允許登錄用戶(電子郵件和密碼身份驗證)只能訪問他們自己的數據,我發現這Firebase - How to write/read data per user after authentication。答案使用了我無法在任何地方找到的類Firebase。所以我改變了規則,以這樣的:

{ 
    "rules": { 
    "users": { 
    "$uid": { 
    ".write": "$uid === auth.uid", 
    ".read": "$uid === auth.uid" 
    } 
} 
} 
} 

少許修改我的Java代碼:

DatabaseReference mDatabaseReference, databaseReference; 
    ... 
    mDatabaseReference = FirebaseDatabase.getInstance().getReference(); 
    databaseReference = mDatabaseReference.child("user"); 

    ... 
    databaseReference.setValue(user); //user is a POJO 

刪除我的數據庫中的舊條目後,重新運行我的應用程序,沒有任何反應,當我嘗試保存一個新用戶。我錯過了什麼?

回答

4

在您的規則中,將users更改爲user

在火力地堡孩子的名字規則

enter image description here

必須在Java代碼中的孩子的名字相匹配。

enter image description here

圖片添加爲清楚起見

+0

這解決it.Thanks一堆 –

+0

草率的錯誤:對 –

+2

很邋遢我一直在這個幾乎6小時:) –