应用程序的listview是否有可能在不打开应用程序的情况下更新Firebase中的数据?
我正在开设一个必须离线工作的餐馆应用程序,因此用户不能打开应用程序来获取新菜单,而是必须自动更新(无论何时用户连接到互联网),即使应用程序不是打开了。有可能实现吗?
答案 0 :(得分:0)
我认为通过更新MENU更新DATA会让您感到困惑。菜单是一个渲染对象 - 如果您使用列表视图驱动它,当应用程序未运行时,它自然不会更新,因为如果没有显示列表视图,则没有理由绘制listview更新。 / p>
但您绝对可以更新数据,我们会在News Rush中执行此操作,以便用户在离线时访问新数据(如果他们之前在线)。只需确保启用持久性并运行驱动列表视图的相同查询。确保路径/参数相同。持久性将记住该数据,如果用户处于离线状态,则下次启动应用时新菜单仍会正确显示。
答案 1 :(得分:0)
您应该在应用程序之外更新它,但是,您可以启用离线功能,
在Android上启用离线功能
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
Firebase应用程序离线运行良好,我们有几个功能要做 经验更好。启用磁盘持久性允许您的应用 即使在应用程序重新启动后仍保持其所有状态。我们提供了几个 用于监控存在和连接状态的工具。
保持数据新鲜:
保持数据新鲜
Firebase实时数据库同步并存储本地副本 主动听众的数据。另外,你可以保持具体 位置同步。
DatabaseReference scoresRef =
FirebaseDatabase.getInstance().getReference("scores");
scoresRef.keepSynced(true);
客户端会自动下载 这些位置的数据,即使引用也保持同步 没有活跃的听众。你可以用。来关闭同步 以下代码行。
scoresRef.keepSynced(false);
默认情况下,之前已同步10MB 数据将被缓存。这对于大多数应用程序来说应该足够如果 缓存超出了其配置的大小Firebase实时数据库 将清除最近最少使用的数据。保留的数据 同步,不会从缓存中清除。
了解更多: