Правильно ли построен мой объект POJO для базы данных реального времени firebase? - PullRequest
0 голосов
/ 02 января 2019

Я пытаюсь создать POJO для моей базы данных RealTime. Я делаю это правильно в соответствии с моей базой данных в реальном времени? Ссылка ниже

detailData, detailContent, detailTitleContent, isDetail, titleContent везде они названы одинаково, у них просто разный текст.

public class POJO {
 private String titleContent;
 private String detailContent;
 private String detailTitleContent;
 private List<String> detailData = new ArrayList<>();
 private List<String> textInfo = new ArrayList<>();
 private boolean isDetail;
 private boolean isList;

public POJO() {

}


public POJO(String titleContent, String detailContent, String 
   detailTitleContent, List<String> detailData, List<String> textInfo, 
  boolean isDetail, boolean isList) {
    this.titleContent = titleContent;
    this.detailContent = detailContent;
    this.detailTitleContent = detailTitleContent;
    this.detailData = detailData;
    this.textInfo = textInfo;
    this.isDetail = isDetail;
    this.isList = isList;
}



public String getTitleContent() {
    return titleContent;
}

public String getDetailContent() {
    return detailContent;
}

public String getDetailTitleContent() {
    return detailTitleContent;
}

public List<String> getDetailData() {
    return detailData;
}

public List<String> getTextInfo() {
    return textInfo;
}

public boolean isDetail() {
    return isDetail;
}

public boolean isList() {
    return isList;
}

}

1 Ответ

0 голосов
/ 02 января 2019

На основе следующего ответа (который вы предоставили) я буду создавать классы POJO

{
    "datas": [{
        "detailData": [{
            "detailContent": "<p>LOTS of information</p>",
            "detailTitleContent": "Title"
        }, {
            "detailContent": "<p>Lots of more information!</p>",
            "detailTitleContent": "Second Title"
        }],
        "isDetail": false,
        "titleContent": "Last Title"
    }]
}

Поэтому, глядя на этот ответ, вы можете видеть, что ваш первый класс (назовем его «MyPojo») будет иметь массив объекта «datas».

public class MyPojo
{
    private Datas[] datas;

    public Datas[] getDatas (){
        return datas;
    }

    public void setDatas (Datas[] datas){
        this.datas = datas;
    }
}

Теперь мы должны сделать модельный объект для "Datas":

public class Datas
{
    private String isDetail;
    private String titleContent;
    private DetailData[] detailData;

    public String getIsDetail (){
        return isDetail;
    }

    public void setIsDetail (String isDetail){
        this.isDetail = isDetail;
    }

    public String getTitleContent (){
        return titleContent;
    }

    public void setTitleContent (String titleContent){
        this.titleContent = titleContent;
    }

    public DetailData[] getDetailData (){
        return detailData;
    }

    public void setDetailData (DetailData[] detailData){
        this.detailData = detailData;
    }
}

Последняя, ​​но не менее важная модель "DetailData", представляющая собой другой массив:

public class DetailData
{
    private String detailTitleContent;
    private String detailContent;

    public String getDetailTitleContent (){
        return detailTitleContent;
    }

    public void setDetailTitleContent (String detailTitleContent){
        this.detailTitleContent = detailTitleContent;
    }

    public String getDetailContent (){
        return detailContent;
    }

    public void setDetailContent (String detailContent){
        this.detailContent = detailContent;
    }
}

Отсюда у вас должен быть полный Pojo для вашего ответа JSON, и он готов к обработке. Просто хочу указать 2 вещи в вашу пользу:

1. Я настоятельно рекомендую вам прочитать следующий учебник Учебник по разбору JSON для Android и обратить пристальное внимание на разницу между [и {- (квадратные скобки и фигурные скобки) , чтобы получить более глубокое понимание JSONArray и JSONObject .
2. Используйте JSONLint , чтобы проверить свой ответ JSON, поскольку это иногда полезно, а также используйте Преобразование XML или JSON в Java Pojo Classes - онлайн инструмент для генерации классов Pojo основанный на ответе JSON (я использовал это сам в этом случае). Основным преимуществом этого является точность, копирование и внедрение занимает менее 1 минуты.

Удачи и дайте мне знать, если вам нужна дополнительная помощь:)

...