java - Firebase - 实时数据库为用户抛出异常设置附加值

标签 java android firebase firebase-realtime-database

我有一个 User 类,它有额外的信息,但它正在抛出:

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

我的代码是:

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 值或者这是不可能的?

最佳答案

Value type ordering

  • 空值
  • boolean 值
  • 整数和浮点值,按数字顺序排序
  • 日期值
  • 文本字符串值
  • 字节值
  • Cloud Firestore 引用资料
  • 地理点值
  • 数组值
  • 映射值

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

  • 以上 Exception表明你不支持 Collections User 类上的对象只需更改为上述支持的类型之一。 List<Type> .

更新

感谢Alex Mamo评论,

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

  • 与可用 JSON types 对应的传递类型如下:

  • 字符串

  • boolean 值

  • map <字符串,对象>

  • 列表

关于java - Firebase - 实时数据库为用户抛出异常设置附加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51813160/

相关文章:

java - 使用 Umano SlidingPannelUp 库时,可滑动选项卡不可单击

android - 使用 Firebase 的一对一 Android 聊天

android - Firebase Phone Auth 不会用我的代码向我发送短信

java - 在java中,如何将日志消息与多个字符串模式相匹配

java - 从 5.4 升级到 6.8.3 后如何解决 gradle tls 连接?

安卓 - java.lang.RuntimeException : Unable to instantiate activity

java - 我的 switch 语句没有返回任何内容?

ios - Xcode - 无法从服务器检索身份验证 token

java - 从命令行使用 Ivy 时,如何让 Ivy 将依赖项复制到 lib 目录?

java - java中声明String时的对象创建