【问题标题】:Saving Joda Date on Firebase在 Firebase 上保存 Joda 日期
【发布时间】:2018-01-16 03:17:17
【问题描述】:

在 android 中存储 Joda 日期和时间的正确方法是什么?当我试图将它保存在 Firebase 上并得到致命异常时。 这是我要保存的对象的类的片段,其中说: “不支持序列化数组,请改用列表”

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

【问题讨论】:

    标签: android firebase firebase-realtime-database jodatime android-jodatime


    【解决方案1】:

    您可以使用 toDateTime().getMillis() 将 Joda 日期和时间存储为 long 值:

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

    请参阅 Firebase 文档中的“基本写入操作”部分:https://firebase.google.com/docs/database/android/read-and-write

    它显示了什么样的东西以及如何写入 db。

    【讨论】:

    • 您提到的方法提示错误说明已保护访问-Ugurcan Yildirim
    • 更新了我的答案。试试这个
    • 这是一个很好的解决方案,但有一个极端情况:toDateTime 使用 JVM 的默认时区来创建DateTime,但如果是Daylight Saving Time gap,则可以使用throw an exception。也许最好明确使用没有 DST 影响的 UTC:.toDateTime(DateTimeZone.UTC)
    猜你喜欢
    • 2018-03-13
    • 2014-02-14
    • 2016-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-08
    • 2022-10-12
    • 1970-01-01
    相关资源
    最近更新 更多