gpt4 book ai didi

android - 无法将 java.lang.Long 类型的对象转换为 java.util.Date 类型

转载 作者:太空狗 更新时间:2023-10-29 16:31:20 25 4
gpt4 key购买 nike

我正在迁移到 Firebase 新版本,尝试从快照中获取值时出现以下错误

com.google.firebase.database.DatabaseException: Can't convert object of type java.lang.Long to type java.util.Date

尝试使用以下方法从快照中获取值时会发生这种情况

public void getUpdates(DataSnapshot dataSnapshot){
Item item = dataSnapshot.getValue(Item.class);
itemArrayList.add(item);
itemAdapter.refreshItem(itemArrayList);
}

我猜它与 Item 对象有关,但它以前有效,所以我无法弄清楚哪里出了问题。我确实在使用日期。

Firebase 项目结构

Firebase item structure

项目对象

private String title;
private String description;
private HashMap<String, ItemPicture> picturesHashMap;
private Date publishedDate;
private Date deletionDate;
private String condition;
private String delivery;
private String uid;
private int reported;
private boolean given;
private Location location;
private String frontImage;
private String uniqueID;

如有任何帮助,我们将不胜感激。

最佳答案

Firebase 不支持 Date 类对象,因此您需要将它们存储为您已经完成的 long/timestamp。

1463845578489 是一个 long,需要存储在一个 long 变量中而不是 Date

将您的变量声明更改为

private long publishedDate;

然后要将 long 转换为有效的 Date 对象,您可以使用此

Date d = new Date(publishedDate);

关于android - 无法将 java.lang.Long 类型的对象转换为 java.util.Date 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37786785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com