Android应用程序的Firebase中的实时数据库存储问题

时间:2018-09-16 22:36:03

标签: android firebase firebase-realtime-database

身份验证,新用户的验证工作正常,但是在实时数据库中,没有存储任何用户信息。

/ 在Firebase方法中 /

public void addNewUser(String email, String username, String description, String website, String profile_photo){
    User user = new User( userID,  1,  email,  StringManipulation.condenseUsername(username) );

    myRef.child(mContext.getString(R.string.dbname_users))
            .child(userID)
            .setValue(user);


    UserAccountSettings settings = new UserAccountSettings(
            description,
            username,
            0,
            0,
            0,
            profile_photo,
            username,
            website
    );

    myRef.child(mContext.getString(R.string.dbname_user_account_settings))
            .child(userID)
            .setValue(settings);

}

1 个答案:

答案 0 :(得分:0)

正如弗兰克所说,您必须从数据库中启用对规则的读取,写入权限

enter image description here

然后您可以在其中更改以下参数

允许用户从您的数据库中读取所有数据,但如果未通过身份验证,则不能写入

"rules": {
    ".read": true,
    ".write": "auth!=null"
 }

允许用户在不进行身份验证(不安全)的情况下读写数据库中的文档

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

或者简单地使用最好的选项,即仅当用户使用任何Firebase Auth选项登录时才允许读取和写入

"rules": {
            ".read": "auth!=null",
            ".write": "auth!=null"
         }