Can';t使Android房间实体类可包裹
我使用Kotlin,我有Android数据库室的Can';t使Android房间实体类可包裹,android,kotlin,parcelable,android-room,Android,Kotlin,Parcelable,Android Room,我使用Kotlin,我有Android数据库室的实体类。我想让它可以打包,但我遇到了以下错误: /Users/rafael/AndroidStudioProjects/Cevsen/app/build/tmp/kapt3/stubs/debug/me/aizon/rafaelekol/cevsen/entities/Bab.java Error:(6, 1) error: Parceler: No @ParcelConstructor annotated constructor and no d
实体
类。我想让它可以打包,但我遇到了以下错误:
/Users/rafael/AndroidStudioProjects/Cevsen/app/build/tmp/kapt3/stubs/debug/me/aizon/rafaelekol/cevsen/entities/Bab.java
Error:(6, 1) error: Parceler: No @ParcelConstructor annotated constructor and no default empty bean constructor found.
Warning:warning: Supported source version 'RELEASE_7' from annotation processor 'android.arch.persistence.room.RoomProcessor' less than -source '1.8'
/Users/rafael/AndroidStudioProjects/Cevsen/app/build/tmp/kapt3/stubs/debug/me/aizon/rafaelekol/cevsen/database/MyDatabase.java
Warning:(5, 1) warning: Schema export directory is not provided to the annotation processor so we cannot export the schema. You can either provide `room.schemaLocation` annotation processor argument OR set exportSchema to false.
Error:Execution failed for task ':app:kaptDebugKotlin'.
> Internal compiler error. See log for more details
我的实体类:
@Parcel(Parcel.Serialization.BEAN)
@Entity(tableName = "bab")
data class Bab (
@PrimaryKey(autoGenerate = true)
val uid: Long,
var id: Int = 0,
var latin:String = "",
@SerializedName("latin_text")
@ColumnInfo(name = "latin_text")
var latinText:String = "",
var turkish:String = "",
)
我的依赖项:
api 'org.parceler:parceler-api:1.1.9'
kapt 'org.parceler:parceler:1.1.9'
看起来“uid”是一个val,但您使其自动生成。房间无法接受此项。看起来“uid”是val,但您使其自动生成。房间无法接受此信息。以下代码对我有效,没有错误
class Farm(
@PrimaryKey(autoGenerate = true)
var farmId: Long = 0,
var farmerId: Long = 0,
var farmName: String = AppConstants.EMPTY_STRING,
var address: String = AppConstants.EMPTY_STRING,
var area: Int = 0,
var lat: String = AppConstants.EMPTY_STRING,
var lng: String = AppConstants.EMPTY_STRING,
) : Parcelable {
@Ignore
constructor() : this(0) {
}
}
下面的代码对我来说没有错误
class Farm(
@PrimaryKey(autoGenerate = true)
var farmId: Long = 0,
var farmerId: Long = 0,
var farmName: String = AppConstants.EMPTY_STRING,
var address: String = AppConstants.EMPTY_STRING,
var area: Int = 0,
var lat: String = AppConstants.EMPTY_STRING,
var lng: String = AppConstants.EMPTY_STRING,
) : Parcelable {
@Ignore
constructor() : this(0) {
}
}
看看这个数据类有自动生成的多参数构造函数,它“隐藏”在
(…)
块中。尝试将@ParcelConstructor
放在开口大括号之前。当我删除自动生成
代码开始工作时,@PrimaryKey
中的自动生成=true
存在问题。该数据类具有自动生成的多参数构造函数,该构造函数“隐藏”在(…)
块中。尝试将@ParcelConstructor
放在开口大括号之前。当我删除自动生成
代码开始工作时,@PrimaryKey
中的自动生成=true
出现问题