Android Firebase-如何使用查询从内部子级访问数据?

时间:2018-10-11 15:39:48

标签: android firebase firebase-realtime-database

这是我的数据库结构。

enter image description here

我将如何查询使用用户ID的所有详细信息(在照片上也有注明。谢谢!

1 个答案:

答案 0 :(得分:0)

如果要访问特定对象,则必须知道一些唯一标识该对象的知识。要使用查询获取该随机ID下的数据,请使用以下代码行:

String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
Query query = rootRef.child("WantToBuy").child(uid).orderByChild("packhename").equalsTo("Makati");
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            String packhename = ds.child("packhename").getValue(String.class);
            Log.d(TAG, packhename);
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
        Log.d(TAG, databaseError.getMessage());
    }
};
query.addListenerForSingleValueEvent(valueEventListener);

您的logcat中的输出将是:

Makati