Я пытаюсь разработать приложение для школ, в которых в моей базе данных есть несколько школ, в каждой школе есть список водителей автобусов, а у каждого водителя автобуса есть список детей (см. Рисунок ниже). У каждого учащегося есть идентификатор, и я храню его в виде строки в моем приложении (т.е. в этом случае String id = "76943"). Я хочу использовать это значение, чтобы узнать, к какому ученику принадлежит этот идентификатор, и к какому водителю принадлежит этот ученик и к какой школе принадлежит этот водитель. По сути, я хочу получить все родительские значения из этого дочернего ключа, есть ли способ сделать это.
Пожалуйста, посмотрите эту картинку. У меня есть идентификатор, и я хочу следующее как строковое значение.
- child1.
- Driver1
- Международная индийская школа Dammam
Вот мой код
EditText driverPhone;
CountryCodePicker ccp;
Button loginDriver;
FirebaseAuth firebaseAuth;
DatabaseReference databaseReference;
String countryCode = "+91";
String phoneNumber;
String schoolName;
FirebaseUser user;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_driver_login);
driverPhone = findViewById(R.id.driverPhone);
loginDriver = findViewById(R.id.loginDriver);
ccp = findViewById(R.id.ccp);
firebaseAuth = FirebaseAuth.getInstance();
databaseReference = FirebaseDatabase.getInstance().getReference();
user = firebaseAuth.getCurrentUser();
}
private void getParentValues(){
databaseReference.child("Schools").orderByChild("id").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot ds : dataSnapshot.getChildren())
String schoolName = ds.getKey();
String driverName = ds.child.getKey();
}
}
@Override public void onCancelled(DatabaseError error) {}
});
}