有什么办法可以从Firestore中以RealTimeDatabase之类的Single Array对象获取数据

时间:2019-07-18 05:13:30

标签: java android firebase firebase-realtime-database google-cloud-firestore

在Firestore中有什么方法可以获取单个数组中的数据列表,例如..在Firebase RealTimeDatabase中,我们通过调用单个值而不是使用ForEachLoop来获取数据列表...例如,在realtimeDatabase中,我们通过

List<Message> messageArray = new ArrayList();

 FirebaseDatabase mfirebase = 
 FirebaseDatabase.getInstance
 Database mDB = mfirebase.getReference


 mDB.child("Message").addChildEventListener(new 
 ChildEventListener() {  

   @Override
    public void onChildAdded(DataSnapshot dataSnaphot , 
    String s ){     

     Message messageOBJ = 
     dataSnapshot.getValue(Message.class);

      messageArray.add(messageOBJ);

    MessageRecyclerAdapter MSGadapter = new
    MessageRecyclerAdapter(MessageActivity.this , 
     messageArray );

   recycler.setAdapter(MSGadapter);
   MSGadapter.notifyDatachange();

  }

但是在Firestore中,我们必须使用ForLoop,这很好,但在某些情况下,我必须在Firestore中使用RealTimeDatabase选项.....例如,在Firestore中,我们使用

  List<Message> messageArray = new ArrayList();

  FireStore db = FireStore.getInstance();




    db.collection("Message").get()
    .addOnSuccessListener(new      
     OnSuccessListener<QuerySnapshot>(){   

    @Override
    public void onSuccess(QuerySnapshot snap){

     for(QueryDocumentSnapshot MessageSnap : snap){ 

    Message messageOBJ = 
    MessageSnap.toObject(Message.class);
     messageArray.add(messageOBJ);

   }
  MessageRecyclerAdapter MSGadapter = new.  
   MessageRecyclerAdapter(MessageActivity.this , 
   messageArray );

   recycler.setAdapter(MSGadapter);
   MSGadapter.notifyDatachange();


  }

   }

因此,有什么方法可以将Firestore的数据作为与FireBase RealTimeDataBase类似的整个ObjectArray来获取

0 个答案:

没有答案