0

RushORM在我的应用程序中使用数据库Android。我可以保存数据,但是当我尝试获取存储的数据时,它会引发异常:

方法扔了RushTableMissingEmptyConstructorException

这是表RushORM数据库的模型类:

public class Linesmodel extends RushObject {
    float startX, startY, stopX, stopY;
    String cityName;
    float joinX, joinY = 0;

    Linesmodel(float startX, float startY, float stopX, float stopY) {
        this.startX = startX;
        this.startY = startY;
        this.stopX = stopX;
        this.stopY = stopY;
    }

    Linesmodel(String cityname, float startX, float startY, float stopX, float stopY) {
        this.startX = startX;
        this.startY = startY;
        this.stopX = stopX;
        this.stopY = stopY;
        this.cityName = cityname;
    }

    Linesmodel(float startX, float startY) { // for convenience
        this(startX, startY, startX, startY);
    }
}

这是我保存数据的代码:

for (Linesmodel l : lines) {
    new Linesmodel(selectedCity, l.startX, l.startY, l.stopX, l.stopY).save();
}

这是获取数据的代码。此代码引发异常:

List<Linesmodel> linesList = new RushSearch().find(Linesmodel.class);
4

1 回答 1

0

RushOrm 使用反射来填充属性,因此需要一个空的构造函数。

只需添加此构造函数,您应该会很好

Linesmodel() {}

同样在不相关的注释上,您可能想尝试使用保存列表

RushCore.getInstance().save(objects)

虽然你只会真正注意到 100 多个对象的差异,但速度更快。

于 2019-12-11T08:08:28.507 回答