代码之家  ›  专栏  ›  技术社区  ›  Jacob

如何批量检索Firebase数据以进行后续操作?

  •  2
  • Jacob  · 技术社区  · 7 年前

    初始视图:一个按字母顺序排列的列表(没有重复项),仅显示其下方存在的资源的字母(这意味着如果没有以X开头的资源,则X根本不应显示)。

    第二视图:一旦你点击一个字母,它会扩展手风琴风格,以显示以该字母开头的资源(没有重复)。

    有没有我错过的最佳实践?

    mDatabase = FirebaseDatabase.getInstance();
    mRootRef = mDatabase.getReference();
    mQuoteRef = mRootRef.child("quotes");
    Query topicQuery = mQuoteRef.orderByChild("Topic");
    
    topicQuery.addChildEventListener(new ChildEventListener() {
    
          @Override
          public void onChildAdded(DataSnapshot dataSnapshot, String s) {
               TreeSet<String> topicList = new TreeSet<>(); <--obv not right
               TreeSet<String> firstLetterList = new TreeSet<>();
               GetQuoteInfo quote = dataSnapshot.getValue(GetQuoteInfo.class);
               if (quote.getTopic() != null) {
                    topicList.add(quote.getTopic());
                    firstLetterList.add(quote.getTopic().substring(0, 1));
               }
        }
    }
    magicalListThatContainsAllOfMyFirebaseDataThatICanNowManipulate;
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   Alex Mamo    7 年前

    当您从Firebase数据库检索数据时,您将其作为 Map Set 因此,为了解决您的问题,请更改检索数据的方式。因为Firebase是一个 NoSQL database ,a说得更好 JSON database key and value .因此,更改

    希望有帮助。