如何从Firebase中父母的所有孩子访问特定的孩子?

时间:2019-12-13 12:30:50

标签: firebase firebase-realtime-database

This is is firebase database structure

我想从所附图像的“服务”的所有子项中访问子项的突出显示值,并将它们存储在数组中。帮助我实现这一目标。

1 个答案:

答案 0 :(得分:0)

public static void getData(){
    DatabaseReference database = FirebaseDatabase.getInstance().getReference("Services");
    database_course.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            for (DataSnapshot ds : dataSnapshot.getChildren()) {
                String key = ds.getKey(); //"AC Repair","Fridge Repair"
                HashMap<String, HashMap<String,HashMap<String,Object>>> servicesHashMap = ds.get(key);
                //Icon Source
                String imageUrl = (String) servicesHashMap.get(key).get("Icon Source").get("imageUrl");
                String name = (String) servicesHashMap.get(key).get("Icon Source").get("name");
                //Rate Card
                HashMap<String,Object> serviceType = (HashMap<String, Object>) servicesHashMap.get(key).get("Rate Card").get("serviceType1");
                int  price = (int) serviceType.get("price");//if price is 1300
                //int  price = (int) serviceType.get("price");//if price is "1300"
                String type = (String)serviceType.get("type");
                //Service Image
                HashMap<String, Object> url = servicesHashMap.get("Service Image").get("url");

            }
        }
        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });
}