0

在android中存儲喬達日期和時間的正確方法是什麼?當我試圖將其保存在Firebase上時發生致命異常。 這裏是我要救的對象類的片段它說: 通過使用「序列化數組不支持,請使用列表,而不是」在Firebase上保存喬達日期

private String mPlotId; 
private String mAreaId; 
private String mUserId; 
private int mAreaNum; 
private LocalDate mStartDate; 
private LocalDateTime mStartTime; 
private int mHour; 

回答

3

可以&次存儲您的喬達日期longtoDateTime().getMillis()

long startDateTimeInMillis = mStartDateTime.toDateTime().getMillis(); 

參閱 「基本寫操作」 部分中火力地堡文檔:https://firebase.google.com/docs/database/android/read-and-write

這說明什麼樣的STU ff以及如何寫入數據庫。

+0

你提到的方法提示錯誤說明已保護訪問--Uururcan Yildirim – Pheonix

+0

更新了我的答案。試試這個 –

+3

這是一個很好的解決方案,但有一個特例:'toDateTime'使用JVM的默認時區來創建'DateTime',但是如果出現[夏令時間隙](https://stackoverflow.com/a/38340388/7605325),這可以[拋出異常](http://www.joda.org/joda-time/apidocs/org/joda/time/LocalDateTime.html#toDateTime--)。也許最好使用UTC,它沒有DST效果:'.toDateTime(DateTimeZone.UTC)' – 2017-08-08 16:16:06