如何从此firebase数据库中获取get值并将其放在查询

时间:2017-04-26 13:59:28

标签: android firebase firebase-realtime-database

我想使用用户位置来查询一些Country类 我想这样说 查询查询= database.child("国家")。子("收到的用户位置");  我的数据库看起来像

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

如何将UserLocation值放入查询

2 个答案:

答案 0 :(得分:0)

如果您已在数据库中存储了useerNameuserId,那么您可以查询以查找特定用户的位置,而不是在QueryDatabaseReference

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

希望它有所帮助。

答案 1 :(得分:0)

查询在另一个类中,所以我们可以这样做 查询位置= mdatabase.child("用户")。child(userid).equalTo(" UserLocation"); 然后将它放在Query query = mdatabase.child(" countries")。child(String.valueOf(location));

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