【问题标题】:Receive a specific data from fire-base real time database using android使用android从firebase实时数据库接收特定数据
【发布时间】:2018-12-31 08:45:56
【问题描述】:

我为学生根据座位号开发了一个安卓应用程序。如果学生输入他的座位号,它将被存储到fire-base的实时数据库中。 现在,我需要做的是根据学生的信息将空座位号检索到列表视图中。例如:数据库输入了 50 个座位号,但座位号 (25) 不在数据库中,那么它将被检索到列表视图。 一般来说,我如何使用基于火的实时数据库来做到这一点? This is how database looks like for one student

【问题讨论】:

    标签: android firebase firebase-realtime-database


    【解决方案1】:

    您需要在数据库中将座位标记为空,以便稍后仅获取空座位。在当前情况下,没有办法提出只能为缺勤学生检索数据的查询。 您的屏幕截图有限,因此我建议采用这种结构。

    {lectureId}/
       seatNumber: {
          isEmpty: boolean,
          .... your other data
       }
    

    那你就用orderByChild("isEmpty").equalTo(false);

    要从实时数据库中查询一组数据,请查看文档: https://firebase.google.com/docs/database/web/lists-of-data

    【讨论】:

    • 非常感谢您的帮助,我还有一个问题,如何为每个输入座位号的学生标记isEmpty: boolean
    • 在更新布尔值之前你有什么信息?你有座位号或学生证还是两者都有?
    • 两个我都有
    • db.ref('lectures').child('YOUR_LECT_ID').child("SEAT_NUMBER").child('isEmpty').set(true/false) 这是在javascript中完成的,您可以轻松地将其转换为android。
    【解决方案2】:

    如果学生在场,您可以使用布尔值 (present = true)。 将此变量放入 te 对象中 然后你可以在 datasnashot 上运行一个循环 for

    i < noOfSeats
    

    并在有条件的列表视图中显示

    if (!present){
       showInList();
    }
    

    【讨论】:

      猜你喜欢
      • 2020-07-15
      • 1970-01-01
      • 1970-01-01
      • 2019-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-22
      • 1970-01-01
      相关资源
      最近更新 更多