我使用Kotlin,我有Entity
类用于Android数据库Room。我想把它Parcelable
,但我收到了这个错误:
/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'
答案 0 :(得分: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,
):可包裹的{
@Ignore
constructor() : this(0) {
}
}