我尝试将ActiveAndroid添加到我的第一个Android应用中。到目前为止没有错误,我的项目正在保存(我用sqlite管理器检查过)但是无论我使用什么查询,结果总是为空。我只有一个模型(Todo),只有字符串,布尔值和一个日期可以保存。 (见下文)
我使用Android 6.0 SDK 23和Genymotion模拟器以及ActiveAndroid 3.0。
我尝试了什么:
ArrayList<Model> list = Model.all(Todo.class);
ArrayList<Model> list = new Select().from(Todo.class).execute();
Todo item = return new Select().from(Todo.class).where("id = ?", 1).executeSingle();
列表的大小始终为0,而item(搜索一个项目时)始终为null。 我没有错。
有什么想法吗?
这是我的模特:
package xyz.tdoo.model;
import *
@Table(name = "Todos")
public class Todo extends Model {
@Column(name = "name")
public String name;
@Column(name = "description")
public String description;
@Column(name = "done")
public Boolean isDone = false;
@Column(name = "favourite")
public Boolean isFavourite = false;
@Column(name = "duedate")
public Date dueDate;
public Todo(String name) {
super();
this.name = name;
}
public static ArrayList<Todo> findAll() {
return new Select().from(Todo.class).execute();
}
public static Todo findOne(int id){
return new Select().from(Todo.class).where("id = ?", id).executeSingle();
}
}
答案 0 :(得分:1)
我最终使用SugarORM。它符合我的简单需求,从一开始就有效。 另外我发现ActiveAndroid有点老了,不再维护了。
答案 1 :(得分:0)
你需要添加空的constuctor:
public Todo() {
super();
}