Java Android Firebase-如何为所有用户将DatabaseReference设置为生成的按键?

Java Android Firebase-如何为所有用户将DatabaseReference设置为生成的按键?,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,例如,我现在的参考是 private FirebaseDatabase database; private DatabaseReference reference; database = FirebaseDatabase.getInstance(); reference = database.getReference("users"); 我有一个ChildEventListener来监听子级“subject”和“time”的修改、添加或删除,但它只在“subject”和“time”是用户的直

例如,我现在的参考是

private FirebaseDatabase database;
private DatabaseReference reference;

database = FirebaseDatabase.getInstance();
reference = database.getReference("users");
我有一个ChildEventListener来监听子级“subject”和“time”的修改、添加或删除,但它只在“subject”和“time”是用户的直接子级时起作用,而不在另一个子级中

对于所有用户,我如何修改我的数据库引用以查找“subject”和“time”,它们是push键下的子项,而push键位于子项“requests”下

试试这个:

FirebaseUser user=FirebaseAuth.getInstance().getCurrentUser();
String useruid=user.getUid();
DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("user").child(useruid).child("requests");
ref.addChildEventListener(new ChildEventListener() {

    @Override
    public void onChildAdded(DataSnapshot dataSnapshot, String s) {
        String subject=dataSnapshot.child("subject").getValue().toString();
        String time=dataSnapshot.child("time").getValue().toString();

    }

    @Override
    public void onChildChanged(DataSnapshot dataSnapshot, String s) {

    }

    @Override
    public void onChildRemoved(DataSnapshot dataSnapshot) {

    }

    @Override
    public void onChildMoved(DataSnapshot dataSnapshot, String s) {


    @Override
    public void onCancelled(DatabaseError databaseError) {

    }

  };

通过这种方式,您将能够访问/检索每个用户的主题和标题。

我很难准确理解您在这里要做什么。你是说你想要一个能收听任意多个地点的听众吗?@DougStevenson很抱歉我不清楚,Peter先生的建议基本上就是我想做的。