I have a model FoodDonation:
@Entity
@TypeConverters(DonatedObjectConverter::class)
data class FoodDonation(@PrimaryKey val id:String,
...
@TypeConverters(DonatedObjectConverter::class)
var donatedObjects : ArrayList<DonatedObject>
){
@Ignore
constructor():this("","",0,"","", ArrayList())
}
The donatedObjects model:
@Entity
data class DonatedObject(@PrimaryKey
val foodId: String,
val donatedAmount: Int)
{
@Ignore
constructor():this("",0)
}
My type converter:
class DonatedObjectConverter {
@TypeConverter
fun fromArray(foodDonationList:ArrayList<FoodDonation>?): String? {
return Gson().toJson(foodDonationList)
}
@TypeConverter
fun toArray(value:String?):ArrayList<FoodDonation>? {
val listType: Type = object : TypeToken<ArrayList<FoodDonation>>() {}.type
return Gson().fromJson(value, listType)
}
}
My database:
@Database(entities = [FoodDonation::class], version = 1, exportSchema = false)
@TypeConverters(DonatedObjectConverter::class)
abstract class FoodDonationDatabase:RoomDatabase() {
abstract fun foodDonationDao():FoodDonationDao
...
...
}
I had created the type converter and all the @TypeConverters(DonatedObjectConverter::class) has put in the files. Why it still doesn't work?
have a great day