java - Android Firebase 数据库异常 : not define a no-argument constructor

标签 java android firebase firebase-realtime-database

我收到如下错误:

com.google.firebase.database.DatabaseException: Class com.example.admin.albumsviewer.Album$Info does not define a no-argument constructor. If you are using ProGuard, make sure these constructors are not stripped.

事实上,在我的模型类中,我已经声明了无参数构造函数:

package com.example.admin.albumsviewer;

import java.util.ArrayList;
import java.util.List;

public class Album {
    String nazwa;
    String wykonawca;
    String okladkaAlbumu;
    String logoZespolu;
    Info info;
    Utwory utwory;

    public String getNazwa() {
        return nazwa;
    }

    public void setNazwa(String nazwa) {
        this.nazwa = nazwa;
    }

    public String getWykonawca() {
        return wykonawca;
    }

    public void setWykonawca(String wykonawca) {
        this.wykonawca = wykonawca;
    }

    public String getOkladkaAlbumu() {
        return okladkaAlbumu;
    }

    public void setOkladkaAlbumu(String okladkaAlbumu) {
        this.okladkaAlbumu = okladkaAlbumu;
    }

    public String getLogoZespolu() {
        return logoZespolu;
    }

    public void setLogoZespolu(String logoZespolu) {
        this.logoZespolu = logoZespolu;
    }

    public Info getInfo() {
        return info;
    }

    public void setInfo(Info info) {
        this.info = info;
    }

    public Utwory getUtwory() {
        return utwory;
    }

    public void setUtwory(Utwory utwory) {
        this.utwory = utwory;
    }

    public Album(){

    }

    public Album(String nazwa, String wykonawca, String okladkaAlbumu, String logoZespolu, Info info, Utwory utwory) {
        this.nazwa = nazwa;
        this.wykonawca = wykonawca;
        this.okladkaAlbumu = okladkaAlbumu;
        this.logoZespolu = logoZespolu;
        this.info = info;
        this.utwory = utwory;
    }

    public class Info {
        String gatunek;
        int cena;
        int rokWydania;

        public String getGatunek() {
            return gatunek;
        }

        public void setGatunek(String gatunek) {
            this.gatunek = gatunek;
        }

        public int getCena() {
            return cena;
        }

        public void setCena(int cena) {
            this.cena = cena;
        }

        public int getRokWydania() {
            return rokWydania;
        }

        public void setRokWydania(int rokWydania) {
            this.rokWydania = rokWydania;
        }

        public Info() {
        }

        public Info(String gatunek, int cena, int rokWydania) {
            this.gatunek = gatunek;
            this.cena = cena;
            this.rokWydania = rokWydania;
        }
    }

    public class Utwory {
        List<String> utwory;

        public List<String> getUtwory() {
            return utwory;
        }

        public void setUtwory(List<String> utwory) {
            this.utwory = utwory;
        }

        public Utwory(){
        }

        public Utwory(List<String> utwory) {
            this.utwory = utwory;
        }
    }
}

我很困惑如何解决这个问题。提前致谢。

最佳答案

InfoUtwory 不应是嵌套在 Album 中的内部类。改为让它们成为独立的类。

关于java - Android Firebase 数据库异常 : not define a no-argument constructor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50783895/

相关文章:

java - 类型 2 响应后 NTLM 身份验证失败

android - android-support-v4.jar 中的意外顶级异常

firebase - Cloud Functions 部署失败 : "Function failed on loading user code. Error message: Code in file lib/index.js can' t be loaded. "

java - 如何禁止创建两个具有相同参数的类对象?

java - 从 IntelliJ Idea Community 运行嵌入式 Tomcat 时遇到问题

java - 设计决策是提供一个调用其他特定 ejb 组件的单一 ejb 组件

android - 尝试重新扫描音频文件

android - android如何存储和运行程序

firebase - 从firebase中的文件导入环境变量

javascript - 等待查询实时更新然后返回值 [Vuex ,Firestore]