Firebase-实时数据库为用户设置附加值引发异常

时间:2018-08-12 21:54:39

标签: java android firebase firebase-realtime-database

我有User类,它具有其他信息,但它抛出:

  

com.google.firebase.database.DatabaseException:不支持序列化集合,请改用列表

我的代码是:

User user = new User(Gender.valueOf(mGenderSpinner.getSelectedItem().toString()));
                            Log.d("GENDER", user.getGender().toString());
                            mFirebaseDatabase.getReference("Users")
                                    .child(mAuth.getCurrentUser().getUid())
                                    .setValue(user)

问题是我如何仍然可以设置User.class值,或者这是不可能的?

1 个答案:

答案 0 :(得分:1)

Value type ordering

  • 空值
  • 布尔值
  • 整数和浮点值,按数字顺序排序
  • 日期值
  • 文本字符串值
  • 字节值
  • Cloud Firestore参考
  • 地理点值
  • 数组值
  • 地图值
  

com.google.firebase.database.DatabaseException: Serializing Collections is not supported, please use Lists instead

  • Exception上方的对象表明,您不支持User类上的Collections对象,只是使用上述支持的ex类型之一进行了更改。 List<Type>

更新

感谢Alex Mano评论

  • 以上是Firebase Cloud Database的数据类型,但是Firebase Realtime Database的数据类型如下。

  • 与可用JSON types对应的通行证类型如下:

    • 字符串
    • Double
    • 布尔值
    • 地图
    • 列表