Ahs*_*eed 2 android firebase google-cloud-firestore
我在我的android项目中使用firestore,一切正常.但是昨天从文档快照获取时间戳值时出现问题.
if (documentChange.getType() == DocumentChange.Type.ADDED) {
Map<String, Object> stringObjectMap = documentChange.getDocument().getData();
Date date = (Date) stringObjectMap.get("timestamp"); }
Run Code Online (Sandbox Code Playgroud)
这是我的收藏文件之一.
id : "25",
message : "This is my message",
timestamp : December 11, 2017 at 10:39:12 PM UTC+5, \\This is Firebase FieldValue.serverTimestamp()
username : "Temp"
Run Code Online (Sandbox Code Playgroud)
除了时间戳,我从文档中得到了所有内容.
如果您ADDED在从同一客户端写入后看到此事件具有空时间戳,则这是预期的行为.
使用服务器时间戳编写时,您将获得两个事件:
null因为服务器尚未设置它.我们正在开发一个API来使这种行为可配置,但是现在你需要处理这种情况.
编辑您现在可以控制此行为.
DocumentSnapshot snap = ...
// One of ESTIMATE, NONE, or PREVIOUS
DocumentSnapshot.ServerTimestampBehavior behavior = ...
Date date = snap.getDate("fieldName", behavior);
Run Code Online (Sandbox Code Playgroud)
以前的行为(null在未知时返回)NONE与新API中的行为相同.有关详细信息,请参阅JavaDoc:https:
//firebase.google.com/docs/reference/android/com/google/firebase/firestore/DocumentSnapshot.ServerTimestampBehavior
| 归档时间: |
|
| 查看次数: |
2460 次 |
| 最近记录: |