Как получить все данные о базе данных в другом дочернем файле даты - PullRequest
1 голос
/ 27 апреля 2020

This is my firebase.

Пользователь создает данные на основе выбранной даты. Поэтому я использую дату, чтобы отделить ее, чтобы пользователь мог хранить данные на основе даты. Проблема в том, что я хочу получить все данные и поместить их в список и показать, когда приложение запускается. Но я не могу добраться до дочернего файла, который является файлом даты. Так что в любом случае я могу получить все данные внутри пользователя, но не указал на дочерний файл?

DatabaseReference reference= FirebaseDatabase.getInstance().getReference("user");
    Query checkUser = reference.orderByChild("userid").equalTo(uid);

    checkUser.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            if (dataSnapshot.exists()){

                String dateFromDB= dataSnapshot.child(uid).child("date").getValue(String.class);
                String weightFromDB= dataSnapshot.child(uid).child("weight").getValue(String.class);

                Intent intent = new Intent(getApplication(), Menu.class);

                intent.putExtra("date", dateFromDB);
                intent.putExtra("weight", weightFromDB);
                startActivity(intent);

            }
        }

Я пытаюсь использовать этот код для получения, но он возвращает нулевое значение.

1 Ответ

0 голосов
/ 27 апреля 2020

Как вы извлекаете данные:

Вам нужно будет l oop просмотреть все идентификаторы дат и извлечь данные

DatabaseReference reference= FirebaseDatabase.getInstance().getReference("user");

ValueEventListener listener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {

     //loop through all the dates
     for(DataSnapshot ds: dataSnapshot.getChildren()){

     //get the data of all the dates
     String date= ds.child("date").getValue(String.class);
     String weight= ds.child("weight").getValue(String.class);

     }

    }

    @Override
    public void onCancelled(DatabaseError databaseError) {

        Log.w(TAG, "loadPost:onCancelled", databaseError.toException());

    }
};
reference.child(uid).addValueEventListener(listener);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...