Java Android Firebase数据库异常:未定义无参数构造函数
我收到一个错误,如下所示: com.google.firebase.database.DatabaseException:类 com.example.admin.albumsviewer.Album$Info未定义 没有参数构造函数。如果您正在使用ProGuard,请确保 构造函数不会被剥离 事实上,在我的模型类中,我没有声明任何参数构造函数: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
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
,所以静态公共类信息{…
。