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

Android Firebase FiRest查询从函数返回空结果,但当直接包含时,相同的代码可以工作

訾凯歌
2023-03-14

我在Studio中遇到firebase查询问题。我试图抽象一个简单的查询,以获取存储在集合中的对象列表(在我的例子中是“用户”),我想创建一个存储在类中的函数,该类可以被项目中的每个片段调用。但我找不到任何方法来做到这一点,重复同样的指令是唯一的方法吗?下面是一个例子

db.collection("users") //get all the users
.get()
.addOnCompleteListener(task -> {
   if (task.isSuccessful()) {
       if(task.getResult() != null) {
           for (QueryDocumentSnapshot document : task.getResult()) { 
                usersList.add(document.toObject(User.class));
            } else {
                Log.w(LOGIN, "Error getting documents.", task.getException());
            }
        });

每次需要时我都会编写这些代码行,但我想创建一个返回列表的方法,如本例所示:

public static List<User> getUsers(FirebaseFirestore db) {
  List<User> usersList = new ArrayList<>();

  db.collection("users") //get all the users
  .get()
  .addOnCompleteListener(task -> {
    if (task.isSuccessful()) {
       if(task.getResult() != null) {
           for (QueryDocumentSnapshot document : task.getResult()) { 
                usersList.add(document.toObject(User.class));
            } else {
                Log.w(LOGIN, "Error getting documents.", task.getException());
            }
        });
    } else {
      //error
    }
  return usersList;
}

暂时还没有答案

 类似资料:
  • 我在集合中有大约30条记录,其中几乎25条包含单词。现在,当我尝试使用时,它不会返回任何东西。 下面是我的查询代码: 下面是我的Firestore截图:

  • 因此,我正在构建一个云函数,它接受customerID,根据customerID过滤文档,并返回文档列表。遗憾的是,它返回一个空数组。我相信这是一个简单的解决办法。 以下是云功能: 下面是我从客户端调用它时的代码。 此外,这里是一个萤火虫的屏幕截图。 firestore的截图

  • 问题内容: 我想在MySQL数据库表上运行查询,以返回列数据具有空格的所有行。例如: 用户 名安迪·戴维斯 彼得· 乔治夫史密斯 史蒂夫· 鲍勃·保罗 该查询将仅返回“安迪·戴维斯”,“杰夫·史密斯”,“鲍勃·保罗”,而忽略“彼得”和“史蒂夫” 有任何想法吗? 问题答案:

  • 文档: 操作: 合作伙伴: HQL(“INCASAT”=“兑现”,“VANDUT”=“出售”):

  • 当前的问题是,以下SQL查询在通过phpMyAdmin SQL页面运行时查找并返回结果,但在使用PDO通过PHP脚本运行时不返回任何结果。(如未找到匹配结果) 有问题的查询: 我怀疑这与排序规则或正在使用的字符集有关,因为不使用任何特殊字符会得到预期的结果。 数据库使用的是latin1_swedish_ci排序规则。我尝试将pdo::mysql_attr_init_command设置为“设置名称'

  • 我有以下表格结构: 1-课程(course_id、course_nam、语言、course_price、create_date、average_rating、course_description、certifica_price、course_creator_id) 2-学生(学生证、钱包) 3-折扣(折扣id、折扣课程id、允许的许可课程id、开始日期、结束日期、百分比) 4-报名(student