我的entity(table)
名为movies
,attribute(column)
名为subscriberEmails
。
@Entity(tableName = "movies")
public class DBMovies {
....
private ArrayList<String> subscriberEmails;
....
}
我使用以下TypeConverter
来保存和检索数据库中的ArrayList
。
我可以使用以下Query
@Insert(onConflict = OnConflictStrategy.REPLACE)
void addList(DBMovies dBMovies );
但是,当我检索subscriberEmails
而不是收到ArrayList
封电子邮件时,我会收到ArrayList
,如图所示。
因此,客房无法使用以下TypeConverter
将字符串转换回ArrayList
。
@TypeConverter
public static String arrayListToString(ArrayList<String> listToBeConverted) {
return gson.toJson(listToBeConverted);
}
@TypeConverter
public static ArrayList<String> stringToArrayList(String stringToBeConverted) {
Type type = new TypeToken<ArrayList<String>>() {}.getType();
return gson.fromJson(stringToBeConverted, type);
}
TypeConverter
已在AppDatabase
类
@Database(entities = {DBMovies.class}, version = 1, exportSchema = false)
@android.arch.persistence.room.TypeConverters({TypeConverters.class})
public abstract class AppDatabase extends RoomDatabase{
...
}