Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在不打开应用程序的情况下从Firebase更新应用程序数据_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Android 在不打开应用程序的情况下从Firebase更新应用程序数据

Android 在不打开应用程序的情况下从Firebase更新应用程序数据,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,应用程序的listview是否可能在不打开应用程序的情况下从Firebase更新数据 我正在使用一个餐厅应用程序,该应用程序必须脱机工作,因此用户不能打开该应用程序来获取新菜单,而是必须自动更新(每当用户连接到internet时),即使应用程序未打开。有可能实现吗 我认为你把更新数据和更新菜单搞混了。菜单是一个渲染对象-如果您使用listview驱动它,当应用程序未运行时,它自然不会更新,因为如果listview未显示,则没有理由绘制listview更新 但是你完全可以更新数据,我们在News

应用程序的listview是否可能在不打开应用程序的情况下从Firebase更新数据


我正在使用一个餐厅应用程序,该应用程序必须脱机工作,因此用户不能打开该应用程序来获取新菜单,而是必须自动更新(每当用户连接到internet时),即使应用程序未打开。有可能实现吗

我认为你把更新数据和更新菜单搞混了。菜单是一个渲染对象-如果您使用listview驱动它,当应用程序未运行时,它自然不会更新,因为如果listview未显示,则没有理由绘制listview更新


但是你完全可以更新数据,我们在News Rush中这样做是为了让用户在离线时访问新数据,如果他们之前在线的话。只需确保启用了持久性,并运行与驱动listview相同的查询。确保路径/参数相同。持久性将记住该数据,如果用户脱机,则下次启动应用程序时,新菜单仍将正确显示。

我认为您将更新数据与更新菜单混为一谈。菜单是一个渲染对象-如果您使用listview驱动它,当应用程序未运行时,它自然不会更新,因为如果listview未显示,则没有理由绘制listview更新


但是你完全可以更新数据,我们在News Rush中这样做是为了让用户在离线时访问新数据,如果他们之前在线的话。只需确保启用了持久性,并运行与驱动listview相同的查询。确保路径/参数相同。持久性将记住该数据,如果用户处于脱机状态,则下次启动应用程序时,新菜单仍将正确显示。

您应该在应用程序之外对其进行更新,但是,您可以启用脱机功能

在Android上启用离线功能

FirebaseDatabase.getInstance().setPersistenceEnabled(true);
Firebase应用程序在离线状态下工作得很好,我们有几个功能需要开发 这种体验甚至更好。启用磁盘持久性允许您的应用程序 即使在应用程序重新启动后仍保持其所有状态。我们提供几个 用于监视存在和连接状态的工具

要保持数据新鲜,请执行以下操作:

保持数据新鲜

Firebase实时数据库同步并存储 活动侦听器的数据。此外,您可以保持特定的 位置同步

客户端将自动下载 这些位置的数据,并保持同步,即使引用 没有活动的侦听器。您可以使用重新关闭同步 下面的代码行

scoresRef.keepSynced(false)默认情况下,先前同步的10MB
数据将被缓存。对于大多数应用程序来说,这应该足够了。如果
缓存超出其配置大小Firebase实时数据库
将清除最近使用最少的数据。保存的数据
同步时,将不会从缓存中清除

阅读更多:


您应该在应用程序之外更新它,但是,您可以启用脱机功能

在Android上启用离线功能

FirebaseDatabase.getInstance().setPersistenceEnabled(true);
Firebase应用程序在离线状态下工作得很好,我们有几个功能需要开发 这种体验甚至更好。启用磁盘持久性允许您的应用程序 即使在应用程序重新启动后仍保持其所有状态。我们提供几个 用于监视存在和连接状态的工具

要保持数据新鲜,请执行以下操作:

保持数据新鲜

Firebase实时数据库同步并存储 活动侦听器的数据。此外,您可以保持特定的 位置同步

客户端将自动下载 这些位置的数据,并保持同步,即使引用 没有活动的侦听器。您可以使用重新关闭同步 下面的代码行

scoresRef.keepSynced(false)默认情况下,先前同步的10MB
数据将被缓存。对于大多数应用程序来说,这应该足够了。如果
缓存超出其配置大小Firebase实时数据库
将清除最近使用最少的数据。保存的数据
同步时,将不会从缓存中清除

阅读更多:


您所说的在线是指应用程序正在运行还是手机已连接到互联网?您所说的在线是指应用程序正在运行还是手机已连接到互联网?