如何从Firebase实时数据库的子键中获取所有父值?

时间:2020-04-24 01:28:36

标签: android firebase firebase-realtime-database

我正在尝试为数据库中有多所学校的学校开发应用程序,每所学校都有一个公交司机名单,每个公交司机都有孩子名单(请参见下图)。 每个学生都有一个ID,我将它存储为一个字符串(在本例中为String ID =“ 76943”)。我想使用此值来知道此ID属于哪个学生,该学生属于哪个驱动程序以及该驱动程序属于哪个学校。基本上,我想从此子键中获取所有父值,有什么方法可以做到这一点。

请参见这张图片。 我有ID,并且想要以下内容作为字符串值。

  1. child1。
  2. Driver1
  3. 达曼国际印度学校

enter image description here

这是我的代码

    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) {}
        });
    }

0 个答案:

没有答案