मैं एक एंड्रॉइड ऐप बना रहा हूं जो उपयोगकर्ता से एक या एकाधिक भाषाओं के लिए पूछता है और उन्हें एक सूची में सहेजता है, और फिर भाषा (ओं) के आधार पर सामग्री (FirebaseRecyclerAdapter का उपयोग करके) देता है यानी मैं अरबी और अंग्रेजी के बच्चों को कैसे पुनर्प्राप्त कर सकता हूं (03) ,01) उदाहरण के लिए?. मुझे केवल डेटा के बच्चे मिल सकते हैं:

mRef = mFirebaseDatabase.getReference("data");

मेरा डेटाबेस:

"data" : {
    "Arabic" : {
      "01" : {}
    },
    "English" : {
      "03" : {}
    },
    "French" : {
      "02" : {}
    }
}
0
Hamza Bjitro 17 नवम्बर 2020, 14:20

1 उत्तर

सबसे बढ़िया उत्तर

मुझे लगता है कि आप संघर्ष कर रहे होंगे कि DataSnapshot को कैसे पार किया जाए जो आपको Firebase से पढ़ते समय वापस मिलता है।

अपने प्रश्न में डेटा नेविगेट करने के लिए, आप कुछ ऐसा करेंगे:

mRef = mFirebaseDatabase.getReference("data");
mRef.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot languageSnapshot: dataSnapshot.getChildren()) {
            System.out.println(languageSnapshot.getKey()); // "Arabic", "English", "French"
            for (DataSnapshot childSnapshot: languageSnapshot.getChildren()) {
                System.out.println(childSnapshot.getKey()); // "01", "03", "02"
                ...
            }
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        throw databaseError.toException();
    }
}

किसी मान वाले डेटा की सूची पढ़ने पर Firebase दस्तावेज़ भी देखें घटना.

0
Frank van Puffelen 17 नवम्बर 2020, 17:56