应用程序是否可以使用firebase获得的最新数据打开?

应用程序是否可以使用firebase获得的最新数据打开?,firebase,firebase-realtime-database,flutter,dart,Firebase,Firebase Realtime Database,Flutter,Dart,每次我关闭应用程序时,它都必须再次从firebase加载数据。有没有办法让它在最后一次获取数据时就已经打开了?您应该再解释一下,这样我们才能理解您的用例。无论如何,我会尽力用我所理解的来回答 您可以使用sqflite包来缓存数据,即数据将存储到本地存储器。开始: 这将是相当复杂的,即使数据的大小很小,也没有必要 如果你有大量的数据不经常改变,那就去做吧 所以它的工作原理是这样的: 首先,您将检查Firestore中的数据是否已更改 案例1:如果没有,则显示本地sqflite数据库中的数据 案例2

每次我关闭应用程序时,它都必须再次从firebase加载数据。有没有办法让它在最后一次获取数据时就已经打开了?

您应该再解释一下,这样我们才能理解您的用例。无论如何,我会尽力用我所理解的来回答


您可以使用
sqflite
包来缓存数据,即数据将存储到本地存储器。开始:

这将是相当复杂的,即使数据的大小很小,也没有必要

如果你有大量的数据不经常改变,那就去做吧

所以它的工作原理是这样的:

首先,您将检查Firestore中的数据是否已更改

案例1:如果没有,则显示本地sqflite数据库中的数据

案例2:如果它确实发生了变化,那么您将显示Firestore中的数据,同时使用新数据更新本地数据库


同样,如果您的数据量很小/更改非常频繁,这是非常多余的

如果启用磁盘持久性,Firebase客户端将把它看到的任何数据写入本地磁盘缓存。这意味着,当您在没有连接的情况下重新启动应用程序时,您以前在应用程序上看到的相同数据可以脱机使用


有关更多信息,请参阅上的Firebase文档以及从中启用它的调用。

您可以使用
sqflite
包脱机缓存数据。但这将是相当复杂的,即使数据的大小很小,也没有必要tried@vagnerwilliamFirebase有磁盘持久性,所以虽然这是一个有趣的答案,但打开磁盘持久性并结束它却非常容易。@Jay我同意。我应该删除我的答案吗?这样别人就不会被误导,因为我的答案已经被接受了。这是一个答案,只是不是最好的答案。它可以给未来读者另一个考虑的选项,所以我会离开它。