Java 如何使用数组从firebase查询?

Java 如何使用数组从firebase查询?,java,firebase,firebase-realtime-database,android-recyclerview,Java,Firebase,Firebase Realtime Database,Android Recyclerview,我的目标是从user1、user3、user4获得帖子,下面是user2 //Get datasnapshot at your "users" root node DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child ("Users").child("following").child(uid); ref.addListenerForSingleValue

我的目标是从
user1、user3、user4
获得帖子,下面是
user2

 //Get datasnapshot at your "users" root node
    DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child
            ("Users").child("following").child(uid);

    ref.addListenerForSingleValueEvent(
            new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                    //Get map of users in datasnapshot

                    collectDispayNames((Map<String, Object>) dataSnapshot.getValue());
                }

                @Override
                public void onCancelled(@NonNull DatabaseError databaseError) {
                    //handle databaseError
                }
            });




private void collectDispayNames(Map<String, Object> users) {

    displayNames = new ArrayList<>();
    //iterate through each following, ignoring their UID
    for (Map.Entry<String, Object> entry : users.entrySet()) {

        //Get user map
        Map singleUser = (Map) entry.getValue();

        //Get following_id field and append to list
        displayNames.add((String) singleUser.get("who_i_follow"));

        //Toast.makeText(this, displayNames.toString(), Toast.LENGTH_LONG).show();

        int size = displayNames.size();
        if (size > 0){

            mDatabase = FirebaseDatabase.getInstance().getReference().child("Post").child("Blog")
                    .child("Contents").orderByChild("user_id").equalTo(displayNames.get(1));
        }else {

            mDatabase = FirebaseDatabase.getInstance().getReference().child("Post").child("Blog")
                    .child("Contents");
        }
        if (size >1){

            mDatabase = FirebaseDatabase.getInstance().getReference().child("Post").child("Blog")
                    .child("Contents").orderByChild("user_id").equalTo(displayNames.get(1));
        }else {
            mDatabase = FirebaseDatabase.getInstance().getReference().child("Post").child("Blog")
                    .child("Contents");
        }

    }
}

无法一次查询多个值。您必须为每个用户运行一个单独的查询,并在客户端合并结果


因为Firebase可以,所以性能并没有一些开发人员想象的那么差。

您能用iOS将代码重新写入android(java)吗?我似乎不理解代码,因为我想使用
FirebaseRecyclerView
显示数据,但我没有共享任何iOS或Android代码。但是,如果您在代码中连接这一点时遇到困难,请更新您的问题,以显示您为此所做的尝试。但请注意,FirebaseUI不具有显示多个查询的内置支持。如果需要这样做,您必须自己编写代码。
        mDatabase = FirebaseDatabase.getInstance().getReference().child("Post").child("Blog")
                .child("Contents").orderByChild("user_id").equalTo(displayNames.get(1));