我一直在使用Room,我遇到了阻塞问题.我已经完成并修复了Room库中的所有编译时检查,但现在遇到以下错误:
Entities and Pojos must have a usable public constructor. You can have an empty constructor or a constructor whose parameters match the fields (by name and type).
Run Code Online (Sandbox Code Playgroud)
这在编译时出现两次,没有证据表明它来自哪个类,但我能够弄清楚(通过从数据库中删除类)这是其中一个文件.我假设它与主键是一个字符串而不是一个Int(这是使用它的两个类之一),但文档中没有任何内容表明问题是什么,事实上文档显示该字符串是有效的主键.
@Entity(tableName = "inspections")
data class Inspection(
@SerializedName("id")
var id: Int = 0,
...
// Rest of code left off for brevity, found to not be related to the issue.
Run Code Online (Sandbox Code Playgroud)
我尝试了一些尝试来解决这个问题.
Room cannot pick a constructor since multiple constructors are suitable- 默认构造函数上的Ignore注释会解决这个问题.)这是让我最困惑的部分 - 删除这个说"多个构造函数是有效的",保留它说"没有构造函数是有效的".更新:从我的项目中添加一些更相关的代码片段.
的build.gradle
apply plugin: …Run Code Online (Sandbox Code Playgroud)