Как получить последние два узла? - PullRequest
0 голосов
/ 17 сентября 2018

ЭТО СТРУКТУРА БАЗЫ ДАННЫХ

enter image description here

Как получить последние два узла?

public class MainActivity extends AppCompatActivity {

public RecyclerView recyclerView , recyclerView1 ;




@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
        final DatabaseReference requestsRef = FirebaseDatabase.getInstance().getReference().child("Requests");
        recyclerView = (RecyclerView) findViewById(R.id.recycler_foods);
        recyclerView.setHasFixedSize(true);
        recyclerView.setLayoutManager(new LinearLayoutManager(this));
        Query firstRequestQuery = requestsRef.orderByKey().limitToFirst(1);
        firstRequestQuery.addValueEventListener(new ValueEventListener() {

            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {

                for (DataSnapshot requestSnapshot: dataSnapshot.getChildren()){


                    FirebaseRecyclerAdapter<Food,FoodViewHolder> adapter = new FirebaseRecyclerAdapter<Food, FoodViewHolder>(
                            Food.class,
                            R.layout.individual_row,
                            FoodViewHolder.class,
                            requestSnapshot.getRef().child("foods")



                    ) {
                        @Override
                        protected void populateViewHolder(FoodViewHolder viewHolder, Food model, int position) {
                            viewHolder.setProductName(model.getProductName());
                            viewHolder.setQuantity(model.getQuantity());

                        }
                    };


                    recyclerView.setAdapter(adapter);
                }
            }
            @Override
            public void onCancelled(DatabaseError databaseError) {
            }

        });

1 Ответ

0 голосов
/ 17 сентября 2018

Вам просто нужно правильно использовать DatabaseReference.Вы можете получить доступ ко всем узлам из вашей базы данных, используя их имена и правильную ссылку FirebaseDatabase.

То, что я хочу сказать, выглядит примерно так в коде:

DatbaseReference ref = FirebaseDatabase.getInstance().getReference().child("Requests").child(specialNumber).child("foods").child(0);

ref.addListenerForSingleValueEvent(new ValueEventListener() {
                    @Override
                    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                        for(DataSnapshot data: dataSnapshot.getChildren()){
                           int value = dataSnapshot.child("productId");
                            int value2 = dataSnapshot.child("quantity");

                        }
                    }

                    @Override
                    public void onCancelled(@NonNull DatabaseError databaseError) {

                    }
                });

Кроме того,чтобы избежать отрицательных голосов, ищите вопросы, похожие на ваши, прежде чем задавать новый.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...