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()。
添加回答
舉報