我已经编写了以下代码来搜索特定的节点,它确实可以正常工作。
private void SearchFirebase() {
Rootref.orderByChild("IMG").equalTo(imUrl).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
for (DataSnapshot product : snapshot.getChildren()){
id = product.getKey(); //returns the id(for eg. 8006)
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
但是我不知道在知道特定的父键之后如何访问子键-值对
在上面的图片中,我需要获取键值对,如产品名称或产品折扣等。
2条答案
按热度按时间jslywgbw1#
查询firebase实时数据库时,获取数据最方便的方法是直接从“datasnapshot”对象调用正确的子对象,并将其转换为正确的类型,如下几行代码所述:
logcat中的结果将是:
3ks5zfa02#
您只需将child添加到您的引用中,并按照此答案中的说明获取数据