java - 难以在 Firebase 中将对象保存为子对象(使用 Android Studio)
问题描述
我对 Firebase 比较陌生。我正在尝试以编程方式填充数据库,如下图所示,该数据库当前由许多成员组成,每个成员都有一个字符串 childId 和一个字符串名称。
我现在尝试为每个成员添加一个类型为 ChildSocialSkills 的新字段,这是我创建的自定义 Java 对象。
执行以下操作以提交到数据库:
ref = FirebaseDatabase.getInstance().getReference().child("Members");
Child child = new Child();
childName = (EditText) findViewById(R.id.childName);
child.setName(childName.getText().toString().trim());
child.setChildId();
//commit to database
ref.child(childName.getText().toString().trim()).setValue(child);
以下是正在填充到数据库中的 Child 类。可以看出,每当创建一个孩子时,都会初始化一个新的 ChildSocialStory。
public class Child {
private String name;
private String childId;
private ChildSocialStories socialStory;
public Child () {
socialStory = new ChildSocialStories();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void setChildId() {
childId = UUID.randomUUID().toString();
}
public String getChildId() {
return childId;
}
public ChildSocialStories getSocialStory() {
return socialStory;
}
为了展示一切,我将在下面展示 ChildSocialStoryClass,它只包含一个默认构造函数:
public class ChildSocialStories {
public ChildSocialStories () {
}}
省略 ChildSocialStory 时,一切正常,成员已成功添加到 Firebase 数据库。但是,每当我添加 ChildSocialStory 时,每次都会出现以下错误。
该错误与下面的代码行有关,它将子代码提交到数据库(也可以在上面第一段代码的最后一行看到):
ref.child(childName.getText().toString().trim()).setValue(child);
我的目标是成功地将 ChildSocialStories 的对象添加为“成员”的孩子(最终将拥有自己的其他孩子)。这有可能吗?任何形式的帮助将不胜感激。
提前致谢!
解决方案
推荐阅读
- python - django unitest 多个类实例
- java - Spring Boot 在配置中使用 bean
- excel - vba中的多标准Sumifs公式
- mysql - 如何在处理多个请求时将代码优化为同步块导致大量延迟
- react-native - 领域反应原生 null 不是对象
- spring-cloud-contract - 我可以使用 Spring Cloud Contact 测试第三方(非 Java)微服务吗?
- xml - 如何在 1 列下返回字符串和数值
- python - Python 和 Selenium:在不使用关键字的情况下识别“表中的表”中的元素
- javascript - 使用 axios post 请求发送 formData 无法正常工作
- python - Beautifulsoup:找不到标签