1 回答
TA贡献1805条经验 获得超9个赞
既然你没有分享你的NonDuplicateAttendance我不能说那里出了什么问题。但是要打印历史记录中的值:
ref.child(uidKeys).child(uid).child("history").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot: dataSnapshot.getChildren()) {
System.out.println(snapshot.child("value").getValue(Long.class));
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
throw databaseError.toException(); // don't ignore errors
}
});
编辑
您的类不起作用,因为它没有声明公共value属性。要解决这个问题:
public class NonDuplicateAttendance {
public long value;
public NonDuplicateAttendance() { }
public NonDuplicateAttendance(long value) {
this.value = value;
}
@Exclude
public long getuHistory() {
return value;
}
}
变化:
该
value字段是公开的,因此 SDK 将其识别为与valueJSON 中的属性匹配。我添加了一个无参数构造函数,否则 SDK 将无法实例化您的类。
我将您的方法注释
getuHistory()为从数据库中排除,否则 SDK 也会编写一个uHistory属性。
添加回答
举报
