首页 > 解决方案 > 重构现有的类逻辑

问题描述

我的上传格式不正确,无法更改数据库的结构,因为我的伙伴在 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”节点。

标签: javaandroiddatabasefirebasehashmap

解决方案


推荐阅读