首页 > 解决方案 > 如何在android应用程序的firebase中将数组中的数据添加到不同的子节点

问题描述

我想将数组中的数据存储到 Firebase 数据库中的多个子项。下面给出的片段是将值从用户上传到数据库。我确保给定的 Firebase 路径是有效的,因为我已经通过使用相同的路径检索数据进行了检查。我在下面附上了数据库的结构。该应用程序的构建没有任何错误。但是当我尝试上传数据时,应用程序崩溃了。

    FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
    DatabaseReference uploaddatabaseReference;
    uploaddatabaseReference = firebaseDatabase.getReference("AttendanceInfo").child(clgCode).child(deptCode).child(attendanceType).child(semester).child(subjectCode);[In this Firebase structure, the new value need to be added inside the nodes 1, 2 3, ....][1]
    
    for (int j = 0; j < totalStrength; j++){
     uploaddatabaseReference.addListenerForSingleValueEvent(new ValueEventListener() {                        
      @Override
      public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                             
       attendanceInfo.setRegNo(registerNumberArray[j]);
       attendanceInfo.setConducted(daysPresentArray[j]);
       attendanceInfo.setPresent(totalWorkingdays);
       attendanceInfo.setPercentage(percentageAsString);
       final String keyValue = Integer.toString(j + 1);
       uploaddatabaseReference.child(keyValue).setValue(attendanceInfo);
      }
    
      @Override
      public void onCancelled(@NonNull DatabaseError databaseError) {
       Toast.makeText(attendanceEntry.this, "Database Error", Toast.LENGTH_SHORT).show();
      }
    });
   }

标签: javaandroidarraysfirebase-realtime-databasenested

解决方案


推荐阅读