我想弄清楚如何使用 SugarORM(版本 1.4,imported with Gradle)。

我有一个带有 public String name 字段的简单对象,等等。

我用这个名字构造了那个简单的对象并像这样保存它(使用 TEST_TYPE 一个随机字符串):

    CustomObject type = new CustomObject(TEST_TYPE);
    long l=type.save();
    Toast.makeText(this, "Type ajouté ! id="+l, Toast.LENGTH_SHORT).show();

我的日志现在显示 id=14,所以我认为写入没问题。

但是当我想阅读时,没有任何意义:
  • CustomObject.count(CustomObject.class) 返回 14
  • CustomObject.findById(CustomObject.class, 2) 返回 null
  • CustomObject.first(CustomObject.class) 返回 null
  • CustomObject.find(LifeEventType.class, "NAME = ?", new String[]{TEST_TYPE}) 返回 null

  • 我不知道它是否相关,但我在警告日志中收到此异常:java.lang.NoSuchMethodException: <init> at com.orm.SugarRecord.find(SugarRecord.java:196)(对于像我这样的菜鸟来说代码太高级了......)

    我究竟做错了什么 ?

    最佳答案

    当您不提供空的构造函数时会发生这种情况。

    SugarORM 可以正确保存实体,但是当您尝试执行选择查询时无法实例化它们。

    解决方案是在实体中包含一个空的构造函数和 getter/setter

    public CustomObject(){}
    

    更多文档 here

    关于android - 开始使用 SugarORM 1.4,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34109795/

    10-11 19:17