Java Android Firebase数据库异常:未定义无参数构造函数

Java Android Firebase数据库异常:未定义无参数构造函数,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我收到一个错误,如下所示: com.google.firebase.database.DatabaseException:类 com.example.admin.albumsviewer.Album$Info未定义 没有参数构造函数。如果您正在使用ProGuard,请确保 构造函数不会被剥离 事实上,在我的模型类中,我没有声明任何参数构造函数: package com.example.admin.albumsviewer; import java.util.ArrayList; import

我收到一个错误,如下所示:

com.google.firebase.database.DatabaseException:类 com.example.admin.albumsviewer.Album$Info未定义 没有参数构造函数。如果您正在使用ProGuard,请确保 构造函数不会被剥离

事实上,在我的模型类中,我没有声明任何参数构造函数:

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;
        }
    }
}
package com.example.admin.albumsviewer;
导入java.util.ArrayList;
导入java.util.List;
公开课相册{
串纳兹瓦;
弦式wykonawca;
串珠;
字符串logoZespolu;
信息;
乌托里乌托里;
公共字符串getNazwa(){
返回纳兹瓦;
}
公共无效setNazwa(字符串nazwa){
this.nazwa=nazwa;
}
公共字符串getWykonawca(){
返回wykonawca;
}
公共无效设置wykonawca(字符串wykonawca){
this.wykonawca=wykonawca;
}
公共字符串getokladkaalbu(){
返回Okladkaalbu;
}
公共void setokladkaalbu(字符串okladkaalbu){
this.okladkaalbu=okladkaalbu;
}
公共字符串getLogoZespolu(){
返回logoZespolu;
}
public void setLogoZespolu(字符串logoZespolu){
this.logoZespolu=logoZespolu;
}
公共信息getInfo(){
退货信息;
}
公共无效设置信息(信息){
this.info=info;
}
公共部门{
返乡担忧;
}
公共无效设置(Utwory Utwory){
this.utwory=utwory;
}
公共相册(){
}
公共相册(字符串nazwa、字符串wykonawca、字符串OkladkaAlbuu、字符串logoZespolu、信息信息、Utwory Utwory){
this.nazwa=nazwa;
this.wykonawca=wykonawca;
this.okladkaalbu=okladkaalbu;
this.logoZespolu=logoZespolu;
this.info=info;
this.utwory=utwory;
}
公共类信息{
弦加图内克;
国际cena;
国际罗克维达尼亚;
公共字符串getGatunek(){
返回加图内克;
}
公共void setGatunek(字符串gatunek){
this.gatunek=gatunek;
}
public int getCena(){
返回cena;
}
公共无效setCena(国际cena){
this.cena=cena;
}
公共int getRokWydania(){
返回罗克维达尼亚;
}
塞特罗克维达尼亚公共区(内罗克维达尼亚){
this.rokWydania=rokWydania;
}
公共信息(){
}
公共信息(字符串gatunek、int cena、int rokWydania){
this.gatunek=gatunek;
this.cena=cena;
this.rokWydania=rokWydania;
}
}
公开课{
罗列乌托里;
公共列表getUtwory(){
返乡担忧;
}
公共无效设置(列表设置){
this.utwory=utwory;
}
公共服务{
}
公共厕所(列表厕所){
this.utwory=utwory;
}
}
}

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

Info
Utwory
不应该是嵌套在
相册中的内部类。将它们改为独立类。

检查您的类。我认为它可以工作,但我收到另一个错误:com.google.firebase.database.DatabaseException:无法将java.util.ArrayList类型的对象转换为com.example.admin.albumsviewer.Utwory类型。我试图在ArrayList和normal数组的“utwory”类中更改字段“utwory”的类型,但它总是给我相同的错误。我如何解决这个问题?因为这是一个不同的问题,tou可能会提出不同的问题,但这一次会准确显示您试图读取的数据。作为将
Info
Utwory
制作为自己的顶级类的替代方法,您可以将它们作为内部类保留,并将它们标记为
static
,所以
静态公共类信息{…