我正在为使用Firebase的儿童构建一个简单的应用程序,我不断收到此错误:
Android Firebase Database exception: not define a no-argument constructor
我有一个类活动和另外两个辅助类HomeActivities和OutsideActivities。这是我的课程代码:
public class Activities {
private String type;
private int count;
public Activities() { }
public Activities(String type, int count) {
this.type = type;
this.count = count;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
class HomeActivities {
private String name;
private int noOfChildren;
HomeActivities() { }
public HomeActivities(String name, int noOfChildren) {
this.name = name;
this.noOfChildren = noOfChildren;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNoOfChildren() {
return noOfChildren;
}
public void setNoOfChildren(int noOfChildren) {
this.noOfChildren = noOfChildren;
}
}
class OutsideActivities {
private String name;
private int noOfChildren;
public OutsideActivities() { }
public OutsideActivities(String name, int noOfChildren) {
this.name = name;
this.noOfChildren = noOfChildren;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNoOfChildren() {
return noOfChildren;
}
public void setNoOfChildren(int noOfChildren) {
this.noOfChildren = noOfChildren;
}
}
}
请查看所有构造函数。即使我已经在每个类中定义了正确的构造函数,我也会收到此错误。怎么解决这个?请帮帮我。
答案 0 :(得分:2)
有两种方法可以摆脱这个错误。
制作两个内部类static
。
创建内部类independent
(每个类都在其自己的separte文件中)。
就是这样!
答案 1 :(得分:1)
HomeActivities()的构造函数具有默认可见性。错过了公共关键字。当构造函数不公开时,数据库ORM提供程序无法实例化对象。
应该是:
class HomeActivities {
private String name;
private int noOfChildren;
public HomeActivities() { }
所有其他建议也有效。您应该将类外部化为单独的文件。