【问题标题】:Create custom fields in Layout and Firebase RT database in Android Studio在 Android Studio 的 Layout 和 Firebase RT 数据库中创建自定义字段
【发布时间】:2020-06-21 12:03:17
【问题描述】:

我正在为裁缝店老板创建一个应用程序。他们可以保存客户的测量值。 为此,我为每个项目创建了 pojo,例如 Shirt 类、T裤类 (pojo)。 但是我想添加一些功能,比如店主决定添加额外的字段,例如正面、肩部、等 我正在使用 Firebase RT DB 来存储数据。

DatabaseReference rootRef;

rootRef = FirebaseDatabase.getInstance().getReference();

Shirtpojo shirt = new Shirtpojo (height, chest);

rootRef.child("shirt").setValue(shirt);

这里, Shirtpojo 中的参数是预定义的,例如,

class Shirtpojo{
String height,chest;
getHeight(){...}
setHeight{...}
}

但是如果裁缝想添加他自己的字段,他就做不到。 此外,为了保存这个新参数的后续值,我还需要 xml 中的新布局(新编辑文本)。 我怎样才能做到这一点?

【问题讨论】:

  • 你可以在你的数据库中有一个嵌套节点并称之为“customFields”,你可以在你的 POJO 中检索这个节点作为一个 Map 对象

标签: java android firebase firebase-realtime-database pojo


【解决方案1】:

很遗憾,您不能告诉 Firebase 将自定义字段放在地图或类似的东西中。

我能想到的最好的方法是为自定义属性创建一个子节点。

"shirt": {
  "height": 173,
  "chest": 42,
  "customProperties": {
    "preferedName": "puf",
    "preferedColor": "yellow"
  }
}

然后是一个 Java 类:

public class Shirtpojo {
  public double height;
  public double chest;
  public Map<String, Object> customProperties;
}

注意:上面带有公共字段的语法是最小的 POJO,但是如果你使用 getter 和 setter,嵌套映射也可以工作。

【讨论】:

猜你喜欢
  • 2014-12-04
  • 1970-01-01
  • 2013-11-28
  • 2021-11-01
  • 2020-03-25
  • 2010-10-31
  • 2017-09-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多