如何在DBFlow中使用构造函数

时间:2016-11-22 10:16:04

标签: java android orm dbflow

我试图在类中使用构造函数来扩展DBFlow中的BaseModel,但是我在控制台中得到了它。

/home/christoandrew/Documents/Trumeter/app/build/generated/source/apt/debug/com/iconasystems/android/trumeter/models/Session_Table.java:144: error: constructor Session in class Session cannot be applied to given types;
return new Session();         ^
  required: String,String
  found: no arguments
  reason: actual and formal argument lists differ in length

这是我的Session.java

@Table(database = TrumeterDatabase.class)
public class Session extends BaseModel{
    @PrimaryKey
    @Column
    @SerializedName("username")
    String username;
    @Column
    @SerializedName("password")
    String password;

    public Session(String username, String password) {
        this.username = username;
        this.password = password;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

}

现在,当我检查生成的表类时,它在实例化中没有参数。我一直在检查,所有教程似乎都没有在他们的课程中有构造函数。这是我的错误,或者它应该如何完成。

1 个答案:

答案 0 :(得分:2)

您必须为模型类实现默认构造函数 public Session() { }
因为DBflow处理器生成的代码(YourModel_Table)使用此默认构造函数。