android - Firebase 数据库读取数据
问题描述
我正在尝试从 Firebase 实时数据库中读取一些值。我的结构如下所示:
以及我检索值的代码(“Wine and Dine”):
databaseReference.child("test").child("event_name").child("drinks")
.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Object dataSnapshotObject = dataSnapshot.getValue(String.class);
if(dataSnapshotObject != null){
Toast.makeText(content, "Event Name: " + dataSnapshotObject.toString(), Toast.LENGTH_LONG).show();
}else
Toast.makeText(context,"null",Toast.LENGTH_SHORT).show();
}
@Override
public void onCancelled(DatabaseError databaseError) {
});
但是,我只得到一个空响应作为值。我可能做错了什么?
解决方案
您可以.child("drinks")
从链中移除(并稍后将其放入,如下面的代码所示),并且如果您仍然想要制作dataSnapshotObject
to String
,那么您应该在String
.
像这样的东西:
String value = dataSnapshot.child("drinks").getValue(String.class);
还要检查你是否databaseReference
看起来像这样。
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference();
推荐阅读
- mysql - 将一列设置为另一列的记录,只需用逗号替换空格
- jquery - 按钮事件在 Bootstrap 模式中不起作用
- flutter - 在 Flutter 中从 API 获取数据时修复此格式化异常错误
- python - Pandas:如何将 dicts 列表中的 dicts 列表展平到数据框中,如果嵌套列表中的任何 dict 缺少任何指定的键,则抛出错误?
- ios - 在 iOS 中,对具有 2 个复合键的表的 Dexie 更新变得非常慢
- sql - DB2 中具有位/十六进制混淆的字符
- java - Java 中的位操作 - 基于位值有条件地切换位?
- winapi - MFC:滚动条抓手有一个闪烁的光标?
- python - 如何写一个方程的组合
- laravel - Laravel 刷新特定播种器