【问题标题】:Flutter/Android - Where is the data received from an API temporarily stored? Is there a way to save that data persistently?Flutter/Android - 从 API 接收的数据临时存储在哪里?有没有办法永久保存这些数据?
【发布时间】:2020-10-18 09:24:53
【问题描述】:

我发出一个 API 请求并获得 Response,将其解码为 JSON。这个存储在哪里?如果在用户重启应用后必须使用相同的数据而无需再次调用 API,如何将其存储到磁盘?

【问题讨论】:

    标签: android api flutter


    【解决方案1】:

    从 API 接收的数据临时存储在哪里?

    如果将它分配给文件中的局部变量,那么它会存储在应用程序的运行时内存中。

    有没有办法永久保存这些数据?

    根据您的要求,您可以使用多个选项。

    1. 有关访问令牌等关键数据的安全存储,请查看flutter_secure_storage
    2. 简单的非关键存储,检查shared_preferences
    3. 如果您需要将数据存储在关系数据库中,请参阅sqlite

    【讨论】:

      【解决方案2】:

      【讨论】:

        【解决方案3】:

        在您的应用处于活动状态之前,已解码的 JSON 数据会一直存在于内存中。如果您不想再次拨打网络电话,可以将数据存储在数据库中。这样您的数据将被永久保存。但是,如果用户关闭了您的应用,您仍需要确保从数据库中获取数据并填充 UI。

        注意:如果来自 API 的数据是静态的,也就是说,它不会随时间变化,那么最好将数据保存到数据库并从数据库中取回。通常,在 API 调用中,情况并非如此(即数据不是静态的)。在这种情况下,您的应用应在每次应用重新启动时对 API 进行网络调用,这样您应用中的数据就会与服务器同步。

        【讨论】:

        • 不要对非代码文本使用代码块。
        猜你喜欢
        • 2012-12-02
        • 2015-11-07
        • 1970-01-01
        • 2019-12-08
        • 2021-06-12
        • 1970-01-01
        • 1970-01-01
        • 2013-05-28
        • 2023-03-15
        相关资源
        最近更新 更多