Получить данные c из базы данных реального времени Firebase android - PullRequest
0 голосов
/ 03 апреля 2020

Из базы данных я хочу показать только bs c это 3 потока, а не все детали потока.

UserHelperclass - класс модели. Этот код отображает всех пользователей:

enter image description here

usersList = new ArrayList<>();

        final my_class_adapter class_adapter = new my_class_adapter(my_class.this, usersList);
        recyclerView.setAdapter(class_adapter);

        databaseReference = FirebaseDatabase.getInstance().getReference("UsersData");

        usersListener = databaseReference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                usersList.clear();

                for (DataSnapshot itemSnapshot : dataSnapshot.getChildren()) {
                    UserHelperClass userHelperClass = itemSnapshot.getValue(UserHelperClass.class);
                    usersList.add(userHelperClass);
                }
                class_adapter.notifyDataSetChanged();
            }

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

            }
        });

Заранее спасибо ?

1 Ответ

0 голосов
/ 05 апреля 2020
// define the object
UserHelperclass user_class;
ArrayList<UserHelperclass> dataList=new ArrayList()<>;

Query qry = databaseReference.getRoot().child("UsersData").orderByChild("stream").equalTo("Bsc It 3");

        qry.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

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

                    // store data into your model class   
                   user_class=dataSanpshot1.getvalue(UserHelperclass.class);

                   // add model class data to the arraylist
                    dataList.add(user_class);
                 }
               // now set arraylist to your adapter of recyclerview pr gridview or listview

            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {
                Toast.makeText(CodeActivity.this, "fail to get data", Toast.LENGTH_SHORT).show();
            }
        });
...