java - 如何正确显示 Cloud Firestore 列表的日期?

标签 java android firebase google-cloud-firestore

我有一个模型类,如下所示:

public class ListModel {
    private String listName;
    @ServerTimestamp
    private Date date;

    public ListModel() {}    
    public ListModel(String listName) {this.listName = listName;}

    //setters and getters
}

这就是我向数据库添加列表的方法:

 ListModel listModel = new ListModel(listName);
 listsRef.document(listId).set(listModel);

当我查看数据库时,我的日期如下所示:

enter image description here

为了显示列表的名称日期,我使用了FirestoreRecyclerAdapterRecyclerView >。问题是,当我添加列表时,名称会立即显示,但日期首先显示为 null,只有在一两秒后才正确显示。

我知道日期是服务器端生成的,但是如何才能从第一次就正确显示日期?

最佳答案

目前无法立即显示时间戳。服务器端时间戳仅在服务器上生成,并且在服务器返回响应之前为null

正在进行的工作可以使客户端立即估计时间戳。一旦发布,您将收到两个事件(类似于 how the Firebase Realtime Database works ):第一个事件包含时间戳的本地估计,第二个事件包含来自服务器的实际确认时间戳。

关于java - 如何正确显示 Cloud Firestore 列表的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48194237/

相关文章:

低延迟、高可用性的java分布式缓存

android - 哪个平台支持BLE数据包长度扩展功能?

firebase - 如何使用Firebase功能测试连接Firestore模拟器?

firebase - flutter/Dart 错误 : The argument type 'Future<File>' can't be assigned to the parameter type 'File'

java - 为什么我的 View 的宽度和高度为 0

java - 找不到 Artifact com.sun :tools:jar:0

JavaFX 按钮 minWidth 被忽略

java - 将 EditText 的值设置为自己的值,已修改 - 导致卡住

android - 按钮未将其图像状态更改为 "pressed"

swift - 观察者的完成处理程序未调用,如何检查代码