android - Kotlin 上的 Android Retrofit 如何为响应添加时间戳?
问题描述
我有一个简单的 Json 类,可以完美地处理改造。但是里面没有时间戳。我添加了不在 json 中的自定义字段,但它始终为空
//Custom field for timestamp
val timeStamp: String = SimpleDateFormat("yyyyMMdd_HHmmss").format(Date())
//My class for JSON respons
@Entity(tableName = "nal")
data class CurrencyItem(
@PrimaryKey(autoGenerate = true)
val id:Long,
@SerializedName("base_ccy")
var baseCcy: String,
@SerializedName("buy")
val buy: String,
@SerializedName("ccy")
val ccy: String,
@SerializedName("sale")
val sale: String,
val timeStamp: String = SimpleDateFormat("yyyyMMdd_HHmmss").format(Date())
)
解决方案
最简单的解决方案在模型中添加自定义字段以获取时间戳。
val timeStamp: String
Аnd 当改造响应到来时,用时间戳重写这个空字段,我使用方法 SimpleDateFormat
// retrofit response
var res = resp.body()
// new list which i create and rewrite with timestamp and then return
var l = ArrayList<CurrencyItem>()
//read response list with json converted data
for (r in res.orEmpty()){
l.add(CurrencyItem(1 ,
r.baseCcy,
r.buy,
r.ccy,
r.sale,
SimpleDateFormat("yyyyMMdd_HHmmss").format(Date())))
}
//return this new list with timestamp. I use repository pattern with livedata
response.value = l
推荐阅读
- java - 带有 AWS EC2 IMDSv2 的 Spring Cloud Netflix Eureka 客户端?
- java - 使用 Java AWT 在 2D Canvas 上渲染 3D 对象
- python - 如何在 discord.py 中获取 pin 消息
- wordpress - 多站点内容同步 Wordpress 问题
- android - 如何修复此错误?错误:找不到符号 Vholder.setData(mValues.get(position));
- filter - 没有为 scipy.signal.butter 定义名称为“b”的错误。怎么了?
- javascript - n秒后datatable.js ajax livereload
- javascript - 在 arr 中生成 4 个唯一的随机数?
- dialogflow-es - 无法创建新代理
- c# - jQuery:当我有多个具有相同名称但唯一 ID 的元素时,我可以按名称选择一个元素并读取它的 ID 吗?