在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