Чтение нескольких детей из firebase в андроид студии - PullRequest
0 голосов
/ 27 ноября 2018

Я создаю приложение посещаемости с Android Studio.Часть этого включает кнопку истории, которая перечисляет личную историю посещаемости студента.Однако у меня проблемы с чтением данных при указании пути.Я гуглил разные решения, но никак не могу понять.Есть идеи?

package com.example.android.teamnahhseproject;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.*;

public class attendance_history_student extends AppCompatActivity {

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference reference = database.getReference("teamnahh-7d81b/student_users/Alisha Tapiawala/classes/CS 3354_003");
String attendance_text;
TextView textBox;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_attendance_history_student);

    textBox = findViewById(R.id.attendance);

    reference.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
                attendance_text = postSnapshot.getValue(String.class);
                textBox.append(attendance_text + "\n");
            }
        }
        @Override
        public void onCancelled(DatabaseError databaseError) { }
    });
}

}

realtime database data

Я пытаюсь распечатать всех детей для "CS 3354_003"

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Чтобы решить эту проблему, измените следующую строку кода:

DatabaseReference reference = database.getReference("teamnahh-7d81b/student_users/Alisha Tapiawala/classes/CS 3354_003");

на

DatabaseReference reference = database.getReference("student_users/Alisha Tapiawala/classes/CS 3354_003");

. teamnahh-7d81b в вашей ссылке не требуется.

0 голосов
/ 27 ноября 2018

Это то, что вы можете сделать:

ArrayList<String> presence = new ArrayList<String>();
DatabaseReference dbref = FirebaseDatabase.getInstance().getReference("student_users/Alisha Tapiwala/classes/CS3354_003");
ValueEventListener listener = new ValueEventListener() {
     @Override
     onDataChange(DataSnapshot dataSnapshot){
         for( DataSnapshot children : dataSnapshot.getChildren(){
             presence.add(children.child(" ").getValue(String.class));
             //presence is now containing the values from the database. 
         }
    }
};
dbref.addValueEventListener(listener);

Извините, если форматирование неверное, особенно {}.Я сделал это на моем телефоне.Если вы все еще получаете ошибки, проверьте эту документацию .Надеюсь, это поможет.

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