许多类似的问题,但它们与AndroidX Room库生成的类无关.请不要将这个问题标记为重复问题,因为类似的问题与传统的Java类有关,而不是由Room生成的类.

继Android Room上的documentation之后,我定义了一个数据库和表实体,如下所示:

数据库:

@Database(entities = [User::class], version = 1, exportSchema = false)
abstract class UserDatabase : RoomDatabase() {
    ...
}

实体:

@Entity
data class User(
    ...
)

但在构建时,我收到了一个错误,跟踪到生成的文件user.java:

error: class User is public, should be declared in a file named User.java

有人在使用Room时遇到过这个错误吗?

推荐答案

将实体移动到其自己的名为User.kt的文件中.

Android相关问答推荐

如何将结果从viewModelScope传递到活动

有没有办法知道每台安卓设备上的通知限制?

Jetpack编写错误(java.lang.NoSuchMethodError:无接口方法startRestartGroup)

在一列中垂直对齐两个框

AndroidX Media3 迁移指南

是否可以按照干净的体系 struct 将活动实例传递给视图模型

为什么@PrimaryKey val id: Int? = null 在创建 Room 实体时有效吗?

Jetpack Compose 中带有权重的行和 AnimatedVisibility 会 destruct UI

如何在 Jetpack Compose 中创建无限pager

在 Jetpack Compose 中对齐行项目

任务 ':app:checkReleaseDuplicateClasses' 执行失败

状态更改后 colored颜色 未正确更改

Jetpack Compose 惰性列在单个项目更新时重新组合所有项目

从活动共享视图模型以使用 hilt 组合函数

如何在行/列/卡片 compose 中添加左边框

如何在 Android 上移动 EditText 上的图标?

如何在stroke android drawable中设置渐变

未解决的参考:getIntentSender / try 在 Jetpack Compose 中获取电话号码时

Android TTS 在屏幕关闭一段时间后停止朗读

在 Android Studio 中保存数据