定期从 API 获取数据并在全球范围内提供数据(针对每个屏幕)的最佳实践

Best practice for fetching data from API periodically and provide it globally (for every Screen)

我正在开发一个游戏伴侣应用程序,我一直在寻找一种巧妙的方法来从启动我的应用程序时启动的多个 API 中获取数据(如果用户刷新当前滑动刷新的页面)。

问题是,我计划了一个仪表板式的主屏幕(主要是每个 API 的减少数据),用户可以在其中导航到不同的页面(所有页面都提供不同的 API)并获取特定部分的详细信息。我不确定如何提供 API-数据 'globally'.

我觉得我的 main.dart 会超载,但我想不出任何其他方法。

你对此有何看法?

几种方法:

  1. 您可以使用持久性数据库并在其上编写包装器 DAO,这样任何有权访问此 DAO 对象的人都可以写入和读取数据库。 sqlite 等软件包在这方面有所帮助。

  2. 如果您在 flutter 应用程序中采用 bloc 方式进行状态管理,那么您可以创建可用于在您的应用程序中共享数据的 blocs。 flutter_bloc 是一个很好的起点。

  3. 通过 Singleton , If you want a sensitive data that needs to be available within the app globally, then you can create a singleton class that provides read and write from a secure vault. For this secure vault, flutter_secure_storage is convenient or shared_preferences 获取非敏感数据