Firestore 时间戳获取 null

2023-11-23

我在我的 android 项目中使用 firestore,一切正常。但是昨天从文档快照获取时间戳值时出现了问题。

if (documentChange.getType() == DocumentChange.Type.ADDED) { 
  Map<String, Object> stringObjectMap = documentChange.getDocument().getData(); 
  Date date = (Date) stringObjectMap.get("timestamp"); }

这是我的收藏文件之一。

 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"

我从文档中获取了除时间戳之外的所有内容。


如果你看到这个ADDED从同一客户端写入后具有空时间戳的事件,这是预期的行为。

当您使用服务器时间戳写入时,您将收到两个事件:

  1. 确认文档写入本地缓存的初始事件。 此时时间戳为null因为服务器还没有设置 还没完成。
  2. 第二个事件,其中时间戳已由服务器设置,并且 客户已观察到变化。

我们正在开发一个 API 来使这种行为可配置,但现在您需要处理这种情况。


Edit您现在可以控制此行为。

DocumentSnapshot snap = ...

// One of ESTIMATE, NONE, or PREVIOUS
DocumentSnapshot.ServerTimestampBehavior behavior = ...

Date date = snap.getDate("fieldName", behavior);

之前的行为(返回null当未知时)相当于NONE在新的 API 中。有关详细信息,请参阅 JavaDoc:https://firebase.google.com/docs/reference/android/com/google/firebase/firestore/DocumentSnapshot.ServerTimestampBehavior

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firestore 时间戳获取 null 的相关文章

  • 如何使用 (a)smack 在 Android 上保持 XMPP 连接稳定?

    我使用适用于 Android 的 asmack android 7 beem 库 我有一个后台服务正在运行 例如我的应用程序保持活动状态 但 XMPP 连接迟早会在没有任何通知的情况下消失 服务器表示客户端仍然在线 但没有发送或接收数据包
  • PhoneGap 是应用程序开发的好选择吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 从Asynctask返回结果

    如果我的 Android 应用程序中有这个后台工作文件 并且它从我的数据库获取数据 我如何将字符串 结果 传递给另一个类 后台工作人员连接到我的服务器 然后使用 php 连接到数据库 public class BackgroundWorke
  • 明文 HTTP 流量...不允许

    我的程序从用户那里获取一个 URL 因此它可以向互联网上的任何网站发出请求 我试图让这成为可能 我查找了有关 Android HTTP Cleartext 错误的所有答案 并做了这个 但它仍然不允许我连接我的测试本地 PHP 服务器 我在这
  • android studio 底部工具栏的“运行”选项卡消失了

    Android Studio 底部工具栏中曾经有一个 运行 选项卡 但该选项卡不再显示 怎么把它带回来 请检查下图以了解它消失之前的位置 Run 选项卡曾经位于 TODO 选项卡之前的红色圆圈中 查看 gt 工具窗口 gt 运行 Or us
  • NullPointerException org.chromium.android_webview.AwContents$AwViewMethodsImpl.onDragEvent

    大约 10 天前 我的应用程序开始记录此异常 在开发控制台上看到 java lang NullPointerException at org chromium android webview AwContents AwViewMethods
  • 将 ArrayList 保存在捆绑包 savingInstanceState 中

    ArrayList 是在类级别定义的 这些是我保存的实例方法 Override protected void onSaveInstanceState Bundle outState super onSaveInstanceState out
  • 如何在Firebase Android应用程序中分离两个不同的用户?

    我有一个应用程序 有两种不同类型的用户 一种是教师 第二种是普通用户 如果普通会员登录 他会去normal memberActivity如果他是教师会员 他会去Teacher memberActivity 我如何在登录活动中执行此操作 我的
  • 如何知道点击的widget id?

    我已经实施了一个widget与ImageButton and a TextView That ImageButton启动一个activity当它被点击时 这activity使用用户在活动上写入的内容更新小部件文本EditText 现在的问题
  • 我可以使用“导入 com.facebook.FacebookSdk;”使用 Facebook SDK 3.23.1?

    在我的 app build gradle 文件中 我有compile com facebook android facebook android sdk 3 23 1 在我的 BaseActivity java 文件 其中有 public
  • 如何使用 onSearchRequested() 调用搜索对话框

    我正在尝试实现搜索对话框 但无法显示活动中的搜索 我在清单文件中定义了主要活动 此活动向用户显示了他们必须从中选择的选项列表 选项之一是 搜索 选项
  • 对基本适配器类及其功能的疑问

    我正在尝试自定义列表视图 我使用数组列表添加对象列表 并将其发送到扩展基本适配器的类 当我扩展基本适配器类时 它实现了一些方法 例如 getView 等 在 getView 中 我将其发送到将名称 数据 分配给 XML 格式的自定义菜单的类
  • 在Android的activity中调用onResume

    在活动的过程中通过调用 this OnResume 强制 onResume 事件可以吗 或者我应该实现另一个由 OnResume 和第一个成员调用的过程 实现在您的重写中调用的另一个过程onResume 后者不打算由您调用 它是一种方便的方
  • Android apk 调试模式工作正常,但发布模式给出太多警告

    我正在尝试从 eclipse 获取签名的 APK 我有一个可调试的 apk 版本 运行良好 现在发布时 当我尝试使用 Eclipse ADT 进行编译和签名时 我收到很多警告 其中大部分是can t find superclass or i
  • 协程和 Firebase:如何实现类似 Javascript 的 Promise.all()

    在 Javascript 中 您可以同时启动两个 或更多 异步任务 等待它们完成 然后执行某些操作 继续 const firstReturn secondReturn await Promise all firstPromise secon
  • 使用 onAuthStateChanged 通过 Flutter 登录 Firebase

    在 Flutter 之外 当我实现 firebase 身份验证时 我总是使用 firebase 提供的 onAuthStateChanged 侦听器来确定用户是否登录并做出相应响应 我正在尝试使用 flutter 做类似的事情 但我可以找到
  • 在android中的日期选择器对话框中显示当前日期

    我多次尝试在日期选择器对话框中显示当前日期 但失败了 它显示 1 1 1990 我已经遵循了堆栈溢出的一些答案 但不幸的是这些对我不起作用 谁能解释一下在日期选择器对话框中显示当前日期的代码 谢谢 It may help you publi
  • 从 Firebase 实时数据库 + 存储加载图像

    我正在使用 Firebase 文档 react redux firebase 中的 create react app 创建类似汽车图片库的东西 图像信息存储在 Firebase 实时数据库中 但实际图像文件存储在 Firebase 存储中
  • Android:列“_id”不存在

    我收到这个错误 IllegalArgumentException 列 id 不存在 当使用SimpleCursorAdapter从我的数据库中检索 该表确实有这个 id柱子 注意到这是一个常见问题 我尝试根据网上的一些解决方案来解决它 但它
  • 将 firebase 消息传递添加到 flutter android 项目时出现依赖错误

    我已将 firebase 消息传递添加到我的 Flutter 项目中 在 iOS 上运行良好 在 Android 上运行时出现错误 Android dependency androidx localbroadcastmanager loca

随机推荐

  • 如何使用CSS让div填充剩余的垂直空间

    我正在尝试制作一个标准的网站布局header a 导航栏一个身体 在右侧导航栏 and a footer 现在我已经这样做了
  • 如何检测类型是否是另一种通用类型

    example public static void DoSomething
  • 来自 Week 和 WeekYear 的 LocalDate

    使用 NodaTime 库 如何根据周数和周 WeekYear 计算一周第一天的 LocalDate 与此相反 var date new LocalDate 2012 1 1 int weekYear date WeekYear 2011
  • 如何制作一个字典,返回字典中缺少的键的键,而不是引发 KeyError?

    我想创建一个 python 字典 它返回字典中缺少的键的键值 使用示例 dic smart dict dic a one a print dic a gt gt gt one a print dic b gt gt gt b dicts 有
  • 如何使用 HQL 将“null”放入列中?

    如何构建有效的HQL字符串 相当于 UPDATE 表 SET 字段 null WHERE 您的意思是批量 HQL 更新吗 尝试这个 UPDATE myEntity e SET e myProperty null WHERE 您还可以使用上述
  • 在 iPhone 上存储用户名和密码的最佳做法是什么?

    是否有在 iPhone 上存储用户名和密码的最佳实践方法 我正在寻找明显安全的东西 但也会在应用程序更新之间保留信息 使用苹果钥匙串 NSString getPasswordForUsername NSString username and
  • “显示完整站点”按钮可绕过 CSS 媒体查询

    我在我的网站上使用 CSS 媒体查询 以在较小的设备上切换到更垂直的布局 这工作得很好 但我想在网站上添加一个按钮 其中包含 显示桌面版本 之类的内容 我想让这个按钮 或链接 无论什么 强制或改变媒体查询评估 以便它们评估好像屏幕宽度比实际
  • Jenkins 在 Mercurial 提交后构建

    我已经在这个项目上工作了大约一周 我已经在网上搜索了两天 没有任何明确的解释 对于学校作业 我们需要使用以下程序设置构建服务器 Maven 作为我们的构建工具 Mercurial 作为我们的版本控制系统 Java JRE javac 和 j
  • 愤怒的小鸟喜欢滚动菜单

    当您启动 愤怒的小鸟 并点击 开始 时 您会看到一个水平滚动的菜单 其中有一条居中的图像 单击后您就可以开始游戏等等 我想知道如何制作一个与此类似的菜单 它可以横向滚动 水平 并显示可点击的图像 提前致谢 我认为你可以通过水平滚动视图 Ho
  • 无法在函数内访问 jQuery $.get 中的全局变量

    下面是我遇到问题的一些代码 基本上 我将一个空数组定义为全局变量 var playlist 然后尝试在 jQuery get 调用中向其中添加元素 根据我在互联网上读到的内容 我应该能够做到这一点 以下代码给出错误 无法调用未定义的方法 p
  • 混合类型类和类型族时出现问题

    这段代码编译得很好 LANGUAGE MultiParamTypeClasses FunctionalDependencies FlexibleInstances UndecidableInstances FlexibleContexts
  • 如何使用@Autowired像工厂模式一样动态注入实现

    我对 Sprint 相当陌生 我的应用程序使用 Spring 3 x 和 roo1 1 1 我有一个接口的多个实现 该接口将被 Autowired 到其他不同的类中 我只能在运行时决定采用哪种实现 这应该通过类似工厂模式来实现 public
  • 如何为登录用户更改 ionic 中的侧菜单

    我想在用户登录时更改侧面菜单的内容 示例 1 用户未登录 当用户未登录时 会显示此侧面菜单 示例 2 用户已登录 正如您所看到的 有几个额外的菜单项 这些仅在用户登录时显示 在我的控制器中 http get http 127 0 0 1 8
  • 使用 IntelliJ IDEA 生成 JavaDoc 中的图像[重复]

    这个问题在这里已经有答案了 我正在尝试将图像包含在我的 JavaDoc 中 我跟随文档并将图像存储在doc files在包目录中 我的 javadoc 看起来像 This is class desctiprion Image p img s
  • 获取当前用户上下文

    我在从不同位置 C 应用程序 Web 服务 运行 powershellscript 时遇到问题 我认为这是一个用户上下文问题 所以现在我试图找出 powershell 脚本在哪个用户上下文下运行 是否有可能记录 powershell 脚本的
  • 从另一个视图类重新加载集合视图数据

    我的视图中有两个容器 最上面有一个集合视图 当从下面的容器点击按钮时 我想通过按钮更新我的集合视图 我的按钮还更改了我的集合视图使用的数组的值 我以为 didSet 可以完成这项工作 但不幸的是没有成功 Top class TopViewC
  • ASP.NET MVC5 未针对请求的 URL 配置 Web 服务器,并且服务器上未启用目录浏览

    我在从 MVC5 应用程序加载页面时遇到问题 我安装并使用了这个软件 Windows 10 Visual Studio 企业版 2015 微软 IIS 10 0 Express MVC 5 与实体框架 到目前为止 一切正常 我能够显示该网站
  • JSON.parse意外字符错误

    我收到此错误 JSON parse 意外字符 当我在萤火虫中运行此语句时 JSON parse balance 0 count 0 time 1323973673061 firstname howard userId 5383 locali
  • 为简单的 WCF 服务启用基本身份验证?

    我有一个非常简单的 WCF Web 服务 客户在自己的 IIS 上托管该服务 客户有自己的客户端 他们一直在测试环境中对其进行测试 一切都工作正常 直到他们禁用匿名身份验证并启用基本身份验证 一旦他们这样做了 他们就开始出现错误 The a
  • Firestore 时间戳获取 null

    我在我的 android 项目中使用 firestore 一切正常 但是昨天从文档快照获取时间戳值时出现了问题 if documentChange getType DocumentChange Type ADDED Map