android - 是否可以序列化和反序列化包含对象作为 Firebase 中的变量的对象?

标签 android firebase firebase-realtime-database

我正在尝试构建我的数据库,我想知道是否可以使用以下结构从 Firebase RealDatabase 中反序列化一个对象。

public class Profile{
    private String userID;
    private TenantProfile tenant;
}
public class TenantProfile{
    private String name;
    private Room room;
}
public class Room{
    private String town;
    private int size;
}

Firebase 中的整个对象配置文件是否可以从单个查询中反序列化?

我只是想在重构我的代码和更改对数据库的引用之前确保这是可能的。

提前致谢。

最佳答案

Firebase 数据库序列化/反序列化所有遵循 JavaBean getter 和 setter 命名约定的公共(public)字段和公共(public)属性。由于您显示的类不包含这些,因此它们不会读取或写入任何数据。

如果您将字段标记为 public 或添加公共(public) getter/setter,则编写 Profile 类的实例将生成此 JSON:

"userID": {
  "tenant": {
    "name": "the name",
    "room": {
      "town": "the town",
      "size": 42
    }
  }
}

这也是您在数据库中读取值所需的格式。

关于android - 是否可以序列化和反序列化包含对象作为 Firebase 中的变量的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55680476/

相关文章:

javascript - Firebase函数在数据完全获取之前返回

ios - 将所有子值检索到 TableView 单元格中的标签

java.lang.String 在 Android 应用程序中接收数据时引入新字符

android - 如何只读取最后一行的 logcat?

java - 尽管已初始化,但 Firebase 抛出未初始化的错误

java - 使用 Firebase 创建包含随机生成问题的测验

firebase - 注销应用程序时调用.setPersistenceEnabled(false),不起作用

java - Android:对字符串中的匹配项进行着色

Android SDK 管理器无法打开

java - Firebase - 检查 Posts 节点中的 uid 子值是否匹配,如果匹配则将所有分数值加在一起并存储在 String 变量中