How to retrieve specific node from firebase database in android

前端 未结 3 1056
臣服心动
臣服心动 2020-12-28 08:36

I am trying to use Firebase in my android application. I am following documentation for Saving and retrieving, But the Sample database(Dragon) which is used in tutorial has

3条回答
  •  误落风尘
    2020-12-28 09:01

    This is another way to retrieve single value from firebase database using Hashmap.

         ArrayList> AllUserscourselist;
     String SelectedCourseUserUId;
         DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference();
    
         databaseReference.child("User_course_Details").addValueEventListener(new ValueEventListener() {
                    @Override
                    public void onDataChange(DataSnapshot dataSnapshot) {
        //                        emergencyContactsList = new ArrayList<>();
                        AllUserscourselist = new ArrayList>();
                        if(dataSnapshot.exists())
                        {
                            for(DataSnapshot postSnapShot:dataSnapshot.getChildren())
                            {
    
                                for (DataSnapshot courseUID : postSnapShot.getChildren()){
                                    UsercourseDetails usercourseDetails = courseUID.getValue(UsercourseDetails.class);
                                    HashMap map = new HashMap();
    
                                    String user_id = postSnapShot.getKey();
                                    String course_id = usercourseDetails.getcourse_id();
                                    String course_type = usercourseDetails.getcourse_type();
                                    String course_brand = usercourseDetails.course_brand;
                                    String course_number_plate_url = usercourseDetails.course_number_plate_url;
    
                                    map.put("user_id", user_id);
                                    map.put("course_id", course_id);
                                    map.put("course_type", course_type);
                                    map.put("course_brand", course_brand);
                                    map.put("course_number_plate_url", course_number_plate_url);
    
                                    AllUserscourselist.add(map);
                                }
    
        //                        AllUserscourselist.add(new UsercourseDetails(usercourseDetails.getcourse_type(),usercourseDetails.getcourse_brand(),usercourseDetails.getcourse_number_plate_url(),usercourseDetails.getcourse_id()));
                            }
    
                            Log.e("AllUserscourselist",""+AllUserscourselist);
    
                            courseIdList = new ArrayList();
                            for (int i = 0; i < AllUserscourselist.size(); i++) {
                                String course_id_list;
                                course_id_list = AllUserscourselist.get(i).get("course_id")+" "+ AllUserscourselist.get(i).get("user_id");
                                courseIdList.add(course_id_list);
                            }
    
                            if(courseIdList.size()>0 && courseIdList!=null) {
                                for (int i = 0; i < courseIdList.size(); i++) {   //used
                                    String arr[] = courseIdList.get(i).split(" ");
                                    if (arr[0].equals(coursenumber)) {
                                        SelectedcourseUserUId = arr[1];
                                        getUserEmergencyContacts(SelectedcourseUserUId);
                                        break;
                                    }
                                }
                            }
    
                        }else{
        //                    NavigationActivity.this.overridePendingTransition(R.anim.anim_slide_in_left, R.anim.anim_slide_in_left);
                        }
                    }
                    @Override
                    public void onCancelled(DatabaseError databaseError) {
    
                    }
                });
    

提交回复
热议问题