3 回答
TA贡献1829条经验 获得超13个赞
您收到以下错误:
java.lang.RuntimeException:在类 com.google.firebase.firestore.FieldValue 上找不到要序列化的属性
因为FieldValue
不是受支持的数据类型。您应该使用Date类或任何其他扩展类的类Date
,例如Timestamp类。
如何将 FieldValue.serverTimestamp() 转换为 Kotlin/Java 日期类
无需进行任何转换。在 Java 中甚至不需要初始化字段timeStamp
。
编辑:
在 Kotlin 中,您应该使用如下值timeStamp
在构造函数中初始化您的字段:null
data class MyModel( @ServerTimestamp val timeStamp: Date? = null)
TA贡献1906条经验 获得超10个赞
模型类
data class MyModel( @get: PropertyName("timestamp") @set: PropertyName("timestamp") var timestamp: Date= Date() )
初始化时;
val model = MyModel().apply{ this.timestamp to FieldValue.serverTimestamp() }
TA贡献1835条经验 获得超7个赞
您可以使用一个对象来保存这个值,稍后在使用这个值时检查对象的类型并使用它。据我所知,返回的数据类型是 Long,如果需要,您必须手动将其转换为 Data。
这个代码看起来像这样,
替换这个
data class MyModel( var timeStamp: Date,
和
data class MyModel( var timeStamp: Object,
并且在任何地方使用它时timeStamp检查它的类型。在java中它看起来像
if (timeStamp instanceof Long) {
// change Long to Date
//do this
}else{
//do something else
}
timeStamp为本身设置值FieldValue.serverTimestamp()。
添加回答
举报