java - 无法从 Android Studio 中的 Firebase 获取所有价值
问题描述
我在 Firebase 数据库中读取值时遇到了一些问题,这是实时数据库的结构,抱歉我不允许嵌入图片:
- 灯控制器
- 日程
- 时间结束:“5:30”
- 时间开始:“21:15”
- isActive: 真
- 日程
这是我的 Object 类,还包含 Constructor、Getter 和 Setter:
public class ScheduleObject {
private String TimeEnd;
private String TimeStart;
private Boolean isActive;
...
}
当我使用 dataSnapshot.getValue(ScheduleObject.class) 时,我将从 TimeEnd 和 TimeStart 获取值,但 isActive 始终返回 null。似乎它没有在 Firebase 上获得价值,但我不知道为什么?
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
scheduleObject = new ScheduleObject();
scheduleObject = dataSnapshot.getValue(ScheduleObject.class);
}
}
只有当我使用 dataSnapshot.child("isActive").getValue(Boolean.class) 时,它才会从 Firebase 返回值。谢谢你的帮助!
解决方案
选项 1) 如果您的布尔字段被命名为 isActive,那么 getter 必须被命名为 isIsActive() 或 getIsActive()
选项 2)如果您想要一个 getter isActive,则字段名称将仅处于活动状态
推荐阅读
- guice - How to configure Guice to require explicit bindings for the whole application (for all modules)
- oracle - 如何使用 SQL Developer 中的 SQL Worksheet 执行具有 4 个输入参数和 60 多个输出参数的 Oracle 存储过程?
- android - 编写BLE特性而不发现服务Android
- android - 是否有可能从弹出窗口显示 onLongClickListener 更改或更新 firebase 数据库的数据
- linux - '(( 10#$H > 5 ))' 在 bash 脚本中是什么意思?
- tabulator - 我正在尝试使用 Tabulator 版本 4.1.5
- grafana - Grafana 文本面板中的当前时间范围
- c - 我如何获取作为 C 中客户端问候的一部分的会话 ID,SSL_SESSION_get_id 只返回协商的会话 ID
- python - MultiDiGraph 的 NetworkX 计算集群
- tensorflow - 在 TensorFlow / Keras 中与批处理轴一起展平