java - 重构现有的类逻辑
问题描述
我的上传格式不正确,无法更改数据库的结构,因为我的伙伴在 iOS 端正确提取数据。
数据库的外观
如您所见,它比需要的级别更深。我真的不确定需要什么才能删除 questionHash 字段而不迭代每次上传。
我的测验课;
public class Quiz {
HashMap<String, Question> questions;
ArrayList<Score> previousScores;
String topicName;
String description;
String displayImage, title, quizUpvotes, averageTime, quizUID, creatorUID, quizDownvotes;
public Quiz(HashMap<String, String> questions, String topicName, String description, String displayImage, String title, String quizUpvotes, String quizAverageTime, String quizUID) {
this.topicName = topicName;
this.questions = new HashMap<String, Question>();
this.previousScores = new ArrayList<Score>();
this.description = description;
this.displayImage = displayImage;
this.title = title;
this.quizUpvotes = quizUpvotes;
this.averageTime = quizAverageTime;
this.quizUID = quizUID;
HashMap<String, Question> questionHashMap = new HashMap<String, Question>();
}
构造函数等...
public class Question {
HashMap<String, String> questionHash;
public Question() {
this.questionHash = new HashMap<String, String>();
}
public HashMap<String, String> getQuestionHash() {
return questionHash;
}
public void setQuestionHash(HashMap<String, String> questionHash) {
this.questionHash = questionHash;
}
它作为单个对象上传:
quizAreaReference.child(uuidAsString).child("main").setValue(quizToBeUploaded).addOnCompleteListener(new OnCompleteListener<Void>() {
我的测验是按原样显示和提取逻辑,所以我不愿意重构太多,但我正在寻找一种方法来删除数据库中的“questionHash”节点。
解决方案
推荐阅读
- google-chrome-extension - Chrome 扩展程序 - 是否可以以编程方式控制文件输入?
- javascript - 通过函数文本设置状态
- php - Laravel 雄辩的多重连接与 WITH
- python - python:我在测试代码中做错了什么?
- javascript - 正则表达式匹配第一个数字并且只允许 11
- swagger - Swashbuckle 使所有路由参数对于在 asp.net core 3.1 api swagger ui 中具有相同动词但有多个路由的端点都是强制性的
- excel - 如何将焦点设置为新可见的文本框
- excel - Excel - 打开文件而不选择工作表
- c# - 将对象(未定义)转换为具有类型的对象
- grafana - 比较现在和 2 小时前的值以及差异如何