提问人:oyeraghib 提问时间:8/26/2022 最后编辑:oyeraghib 更新时间:11/4/2022 访问量:3225
如何在 Android 中将 Type 对象转换为字符串,反之亦然 [Kotlin]
How to convert a Type object to string and vice versa in Android [Kotlin]
问:
我正在尝试将自定义 Data 类对象转换为 String,反之亦然。我怎样才能做到这一点?
我读过关于序列化和可包裹的文章,但我不确定如何实现它。我看了一些教程,但仍然无法真正弄清楚。
还有其他方法可以实现它吗?比如我可以以编程方式完成吗?
这是我需要转换的表格:
@Entity(tableName = "floor_profile")
class FloorProfileEntity(
@PrimaryKey(autoGenerate = true)
val id: Int? = 0,
@ColumnInfo(name = "profile_name")
val profileName: String? = null,
@ColumnInfo(name = "chosen_floors")
@field:TypeConverters(FloorsConverter::class)
val chosen_floors: List<String>? = null,
@ColumnInfo(name = "start_time")
@field:TypeConverters(FloorsConverter::class)
val startEndRunningTime: List<TimeEntity>? = null
)
时间实体表
@Entity(tableName = "add_time")
data class TimeEntity(
@PrimaryKey(autoGenerate = true)
var id: Int? = null,
@ColumnInfo(name = "start_time")
var startTime: String = "",
@ColumnInfo(name = "end_time")
var endTime: String = "",
@ColumnInfo(name = "running_time")
var runningTime: String = ""
)
转换器类
/** Converting List of TimeEntity to String and vice versa */
@TypeConverter
fun listOfTimeEntityToString(value: List<TimeEntity>): String {
return value.toString()
}
@TypeConverter
fun stringToTimeEntity(value: String): List<TimeEntity> {
return
}
答:
-1赞
Aniket kumar
8/26/2022
#1
使用 Gson 或 Jackson 库,然后时间将保存为字符串。
评论
0赞
oyeraghib
8/26/2022
你能解释一下吗,或者提供一些细节,比如代码示例或其他什么?
1赞
mikail yusuf
11/4/2022
#2
您可以使用 Gson,因为它提供了简单的 toJson() 和 fromJson() 方法将 Java 对象转换为 JSON,反之亦然,
假设您有一个带有 Gson 的用户对象,您可以使用val user = User(name="Jane Doe",id=1)
val convertJsonString = Gson().toJson(user)
上面给出了一个字符串,您可以将其保存到数据库中
若要将其转换回对象,请使用 fromJson 方法
val userObject = Gson().fromJson(convertJsonString,User::class.java)
评论