当前位置: 首页 > 知识库问答 >
问题:

从firebase查询返回null的模型类(查询结果不返回null)

李开宇
2023-03-14

Firebase查询返回此查询的值

Query query = databaseReference.child("users").orderByChild("display_name").equalTo(s.toString());

{nfxQ14lxSIZ0qgTGllZ297b0nTv2={display_name=Friends, token= token_value}}

该项由model类捕获

        query.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot snapshot) {
            UserInfo userInfo = snapshot.getValue(UserInfo.class);
            userInfo.getDisplay_name()
        }

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

        }
    });

但是,返回null

public class UserInfo {

@SerializedName("display_name")
private String display_name;
@SerializedName("token")
private String token;

public UserInfo() {}

public String getDisplay_name() {return display_name;}

public void setDisplay_name(String display_name) { this.display_name = display_name;}

public String getToken() {return token;}

public void setToken(String token) {this.token = token;}
}

共有1个答案

於意蕴
2023-03-14

这里的解决方案很简单

ValueEventListener应该是ChildEventListener

这样,Snapshot.getKey()返回子值,因此可以通过使用

String text = (String) snapshot.getChild("some_lower_key").getValue();
String diffOption = snapshot.getValue(Model.class);
 类似资料:
  • 我正在玩mongob,并将一些测试数据{name:"david"}输入到“用户”集合中。我通过键入mongoshell验证了数据在MongoDB中 结果: 在 node.js 脚本中,使用以下代码: 不返回任何结果 我没有发现任何错误,也没有错误。请告知

  • 我正在使用JDBC创建一个数据库,其中包含表和。两者都有一个名为 以下是我创建和填充表的SQL语句: 我试图运行以下查询: 或 或 使用 但是我没有得到任何结果。 这两个问题都可以解决。 SQLite数据库服务器显示相同的问题: 它与Firefox中的SQLite Manager一起工作。

  • 问题内容: 我有以下从数据库获取十六进制代码的函数 我的问题是我在回调函数中返回了结果,但getColour函数未返回任何内容。我希望getColour函数返回的值。 在我调用getColour的那一刻,它不返回任何内容 我尝试做类似的事情 但当然SELECT查询在返回值时已经完成 问题答案: 您只需要对回调中的db查询结果进行处理。就像。

  • 我有下面的SQL查询,我在flink工作中使用。< code>mysql_table是使用JDBC连接器创建的,而< code>kafa_source表是从传入的kafka流创建的。 我在两者之间执行时态连接,当我在Flink的sql-client CLI中检查时,运行良好(用< code>flink-faker测试)。内部查询工作得非常好,并且正在打印结果。有人能帮助我找出这个问题吗? 编辑:我

  • 我正在尝试在Firebase中进行简单搜索以从我的Firebase数据中返回数据,但没有任何返回。 JSON结构 我的Firebase搜索代码如下 但一旦代码被执行,它就会返回null。还有一种方法可以搜索特定字段。

  • 问题内容: 我有一个数据库,正在运行以下查询: 上面的查询一次返回两个结果集,我不能分别触发两个查询。如何在Java类中一次处理两个结果集? 问题答案: 正确的代码来处理JDBC语句返回的多个: 重要位: 并返回以表明语句的结果只是一个数字,而不是一个。 您需要检查以了解是否还有更多结果。 确保关闭结果集或使用