小编Gab*_*ode的帖子

Android Room 数据库上的类型转换器错误

java.lang.IllegalArgumentException:数据库配置中缺少 ArticlesDao 所需的类型转换器(类 SourceConverter)。

我在编译(运行时)我的应用程序时发生崩溃,因为根据显示的错误,我的数据库配置中缺少转换器。我该如何解决这个问题?我需要帮助。

源码如下:

源转换器.kt

@ProvidedTypeConverter
internal class SourceConverter {
    @TypeConverter
    fun stringToSource(string: String?): SourceEntity = Gson().fromJson(string, SourceEntity::class.java)

    @TypeConverter
    fun sourceToString(list: SourceEntity?): String = Gson().toJson(list)
}
Run Code Online (Sandbox Code Playgroud)

文章实体.kt

@Entity(tableName = "article")
data class ArticleEntity(

    @TypeConverters(SourceConverter::class)
    @SerializedName("source")
    var source: SourceEntity? = null,

    @SerializedName("author")
    var author: String? = null,

    @SerializedName("title")
    var title: String? = null,

    @SerializedName("description")
    var description: String? = null,

    @SerializedName("url")
    @NonNull @PrimaryKey var url: String,

    @SerializedName("urlToImage")
    var urlToImage: String? = null,

    @SerializedName("publishedAt")
    var publishedAt: String? = null,

    @SerializedName("content")
    var …
Run Code Online (Sandbox Code Playgroud)

android typeconverter kotlin android-room

10
推荐指数
2
解决办法
3783
查看次数

标签 统计

android ×1

android-room ×1

kotlin ×1

typeconverter ×1