java - 如何在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();
}
});
}
解决方案
推荐阅读
- firebase - Firebase 仪表板设置电子邮件已验证
- c - 使用 Cordic 进行数模转换
- python - 为什么这个 Python 脚本在 CPU 中比在 GPU 中运行得更快?
- ios - 无法在 IntelliJ Idea 上安装 RoboVM 插件
- c++ - 网络套接字创建问题
- python - 附加 tf.ones 和 tf.zeros(张量流)
- javascript - 子组件的 v-model 和子组件 Vue 内的 v-model
- java - Java 正则表达式拆分单词、标点符号、空格、换行但保持收缩?
- php - 计算两个日期之间的天数(周一至周三) - Woocommerce 预订?
- sed - sed - 使用两个字符串寻址