Android 如何从firebase数据库中获取值并将其放入查询中

Android 如何从firebase数据库中获取值并将其放入查询中,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我想使用用户位置查询某个国家/地区类 我想这样说 Query Query=database.child(“国家”).child(“收到的用户位置”); 我的数据库看起来像 User-- |--- username David |--- UserLocation florida |--- userid jdjdkdkdidjdndjdidj 如果您已经在数据库中存储了useerName或userId,那么如何将UserLocat

我想使用用户位置查询某个国家/地区类 我想这样说 Query Query=database.child(“国家”).child(“收到的用户位置”); 我的数据库看起来像

User--
        |--- username   David
        |--- UserLocation     florida
        |--- userid     jdjdkdkdidjdndjdidj

如果您已经在数据库中存储了
useerName
userId
,那么如何将UserLocation值放入查询中,这样您就可以查询出特定用户的位置,然后在
查询
数据库引用
中使用它

DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("users").child(userId);

ValueEventListener eventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        String userLocation = (String) dataSnapshot.child("location").getValue();

        Query query = database.child("Countries").child(userLocation); //Do whatever you want with the query
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {}
};
ref.addListenerForSingleValueEvent(eventListener);

希望有帮助。

查询在另一个类中,我们可以这样做吗 查询位置=mdatabase.child(“用户”).child(用户ID).equalTo(“用户位置”); 然后将其放在Query=mdatabase.child(“国家”).child(String.valueOf(location))


因为查询在外部类中,每次我尝试使用它时,它都会显示空指针异常