我正在使用 Android Room,但遇到了问题。我创建了一个TypeConverter类(在我的例子中是ConverterHelper),添加了注释 @ProvidedTypeConverter、@TypeConverter 和 @TypeConverters(ConverterHelper::class) 但出现以下错误:
java.lang.IllegalArgumentException: Unexpected type converter class com.example.mas_implementation_kotlin.helper.ConverterHelper. Annotate TypeConverter class with @ProvidedTypeConverter annotation or remove this converter from the builder.
Run Code Online (Sandbox Code Playgroud)
这是我的ConverterHelper:
@ProvidedTypeConverter
class ConverterHelper {
@TypeConverter
fun stringToListOfStrings(value: String): ArrayList<String> {
val listType: Type = object : TypeToken<ArrayList<String?>?>() {}.type
return Gson().fromJson(value, listType)
}
@TypeConverter
fun listOfStringsToString(list: List<String>): String {
val gson = Gson()
return gson.toJson(list)
}
@TypeConverter
fun listOfVisitsToString(listOfVisits: List<Visit>): String {
return Gson().toJson(listOfVisits).toString()
}
@TypeConverter
fun stringToListOfVisits(value: …Run Code Online (Sandbox Code Playgroud)