在Android Room中传递可序列化文件的正确方法?

在Android Room中传递可序列化文件的正确方法?,android,android-room,serializable,Android,Android Room,Serializable,为了保存样板文件,我认为将我的房间实体a可序列化并以意图的方式传递它将是一个很酷的主意,但我有一种不好的感觉。当然足够了,建议不要这样做 因此,我创建了一个可序列化的数据类,并将其作为实体中的唯一列。这是否充分解决了问题,还是根本没有解决任何问题?这两个类位于同一个模块中 Vehicle.kt VehicleData.kt “或者这真的没有解决任何问题吗?”——它没有解决我在报告中提出的任何问题。我也不希望编译它,除非您有一个类型转换器,它是如何在单个列中存储车辆数据的教学室。而且,即使您这样做

为了保存样板文件,我认为将我的房间
实体
a
可序列化
并以
意图
的方式传递它将是一个很酷的主意,但我有一种不好的感觉。当然足够了,建议不要这样做


因此,我创建了一个可序列化的
数据类
,并将其作为
实体
中的唯一列。这是否充分解决了问题,还是根本没有解决任何问题?这两个类位于同一个模块中

Vehicle.kt VehicleData.kt
“或者这真的没有解决任何问题吗?”——它没有解决我在报告中提出的任何问题。我也不希望编译它,除非您有一个
类型转换器
,它是如何在单个列中存储
车辆数据的教学室。而且,即使您这样做,您基本上也无法查询每个
VehicleData
属性(例如,查询工作区中的所有车辆)。因此,您最好将
VehicleData
设置为
@实体。对于琐碎的项目,尤其是单独的开发人员项目,您可能不需要将房间实体设置为
可序列化
可打包
,并将其传递给其他人。出于我在回答中概述的原因,对于任何严肃的项目,我都不建议这样做。
@Entity
data class Vehicle(
    @PrimaryKey val data: VehicleData
)
data class VehicleData(
    val workArea: String,
    val vehicleNumber: String
): Serializable