java - Firebase 数据库路径 : 1. 0 无效。Firebase 数据库路径不得包含 '.' 、 '#' 、 '$' 、 '[' 或 ']'

标签 java android firebase firebase-realtime-database

我正在调用数据库中的值以在类似 Android MP 的图表中使用,它最初可以工作,但由于某种原因不再工作,可能是因为折线图需要使用浮点值,所以将数据库中的数据更改为浮点值。

这是我调用数据的代码:

DatabaseReference databaseref = FirebaseDatabase.getInstance().getReference().child("Carbonfootprint").child(userid).child(String.valueOf(total));
            databaseref.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                    final LineChartresult linechats = dataSnapshot.getValue(LineChartresult.class);
                    score = linechats.getCarbonfootprint();

                    dataVals.add(new Entry(total, score));
                    total++;
                }

                @Override
                public void onCancelled(@NonNull DatabaseError databaseError) {

                }
            });

        }
    }

经数据库检查这里是Json格式

{
  "Carbonfootprint" : {
    "yV3msXDJxDXFo5gchxgbk7OjLHi2" : [ null, {
      "carbonfootprint" : 13.300000190734863
    }, {
      "carbonfootprint" : 12.699999809265137
    }, {
      "carbonfootprint" : 12.100000381469727
    }, {
      "carbonfootprint" : 9.100000381469727
    } ]
  },

不确定为什么它说 null ?在我的数据库中,它看起来像这样:附加屏幕截图.. screenshot

最佳答案

如果total是 float ,那么String.valueOf(total)肯定会包含一个“.”。错误消息告诉您“。”不是在路径中使用的有效字符。

从数据的角度来看,您似乎也没有正确处理查询。您似乎想要查询名为“Carbonfootprint/yV3msXDJxDXFo5gchxgbk7OjLHi2”的整个节点,并在数组中查找您需要的数据。

关于java - Firebase 数据库路径 : 1. 0 无效。Firebase 数据库路径不得包含 '.' 、 '#' 、 '$' 、 '[' 或 ']',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60727765/

相关文章:

java - 如何使用 XStream 为 java.lang.Integer 别名?

java - 查找以公里为半径的地理坐标

java - Action 监听器错误

android - 无法安装我自己生成的 apk

android - 如何从 Android Studio 获取仪器 APK?

java - Google App Engine - 让一定比例的用户看到应用程序的 X 版本,让一定比例的用户看到 Y 版本

android - 我应该将 viewModelScope.coroutineContext 传递给 liveData 构建器函数吗?

java - 如何在Android中获取simCard号码

android - 如何将对象列表写入 firebase?

android - 如何在flutter中使用firebase登录谷歌时检查用户是新用户还是现有用户?