I have this structure:
And I need to get the data from "OnlineClients". My attempt:
currentDriverId = mFireBaseAuth.getCurrentUser().getUid();
mDataBase = FirebaseDatabase.getInstance().getReference().child("Users").child("Driver").child(currentDriverId).child("OnlineClients");
final ArrayList<Student> users = new ArrayList<>();
ValueEventListener postListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot data : dataSnapshot.getChildren()) {
Student student = data.getValue(Student.class);
users.add(student);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Getting Post failed, log a message
}
};
mDataBase.addListenerForSingleValueEvent(postListener);
with error:
com.google.firebase.database.DatabaseException: Failed to convert value of type java.lang.Long to String
Student.Class:
public class Student {
private String FirstName;
private String LastName;
private String StudentSchool;
private String StudentState;
private String StudentStreet;
private String StudentStreetNumber;
public Student(){
}
public String getFirstName() {
return FirstName;
}
public void setFirstName(String firstName) {
FirstName = firstName;
}
public String getLastName() {
return LastName;
}
public void setLastName(String lastName) {
LastName = lastName;
}
public String getStudentSchool() {
return StudentSchool;
}
public void setStudentSchool(String studentSchool) {
StudentSchool = studentSchool;
}
public String getStudentState() {
return StudentState;
}
public void setStudentState(String studentState) {
StudentState = studentState;
}
public String getStudentStreet() {
return StudentStreet;
}
public void setStudentStreet(String studentStreet) {
StudentStreet = studentStreet;
}
public String getStudentStreetNumber() {
return StudentStreetNumber;
}
public void setStudentStreetNumber(String studentStreetNumber) {
StudentStreetNumber = studentStreetNumber;
}
}
Already tried: how to retrieve all the data within nested firebase database and similar without success.
Note: I only need to retrieve "OnlineClients" from current logged user (that's why I'm just using currentDriverId).