小编典典

有没有一种方法可以将Key存储在从Firebase对象强制转换的类中?

java

这是我的数据库:

[x] database
-- > [+] students
-----> [+] -KuGacomJymBwkcc7zlU (pushKey)
-----------> Name - Jon
-----------> Age - 21

我有Student.class:

String name;
String age;

public Student(String Name, String Age) {
this.name=Name;
this.age=Age;
}

我从firebase datasnapshot读取信息,如下所示:

Student newStudent = DataSnapshot.getValue(Student.class);

这样做时,我会得到名称和年龄,但是我的问题是,是否有一种方法可以在不添加任何字符串的情况下在Student类上存储ID(pushKey),而String将保留该字符串并在firebase数据库中使用另一个字段。

谢谢你们。


阅读 214

收藏
2020-09-28

共1个答案

小编典典

我更喜欢将键和值分开,否则传递DataSnapshots。但是,如果您愿意,还可以提取键(DataSnapshot.getKey())并将其设置在您的Java类中的以下属性上@Exclude

public class Student {
  @Exclude
  public String key;
  public String name;
  public String age;
}

然后:

Student newStudent = snapshot.getValue(Student.class);
newStudent.key = snapshot.getKey();
2020-09-28