• Flutter 离线数据方案 Flutter_Data 包


    Flutter 离线数据方案 Flutter_Data 包

    alt

    原文 https://levelup.gitconnected.com/flutter-offline-first-with-flutter-data-62bad61097be

    前言

    alt

    通过离线优先来改善您的用户体验

    Flutter Data 是一个让你的应用程序先离线的软件包。

    离线时,它在设备上使用 Hive 存储,当到 API 的连接可用时,更改将自动同步。

    在本文中,我们将添加 flutter_data 包并将其连接起来,以便在应用程序启动时检索 recipes。

    正文

    我花了一段时间才弄清楚自己想要什么,并勾勒出设计草图:

    High level design
    High level design

    High level design

    当时发生了很多事情,要想做好是很复杂的。

    我用粗体文本突出显示了一些需要编码或配置的操作,并用它们制作了一个任务列表:

    • 步骤 1: 在启动时从 app_config.json 加载环境值。
    • 步骤 2: 添加新包。
    • 步骤 3: 注释 recipes 模型。
    • 步骤 4: 配置 Flutter 数据。
    • 步骤 5: 覆盖 Http 客户端使用 Dio。
    • 步骤 6: 为开发和测试配置 Mock Adapter。

    您可以在 XP 部分中找到实现细节。

    这篇文章有很多细节,我的建议是阅读足够多的内容来理解正在发生的事情,如果您决定或需要实现它,可以将其作为参考。

    请反馈,如果你有更好的方法或建议的改进。我们欢迎任何有助于改进这一关键发展任务的帮助。

    Ta Da 哒哒

    GlobalEnvironmentValues.instance
       .loadValues(await rootBundle.loadString("app_config.json"));
    • 1
    Load the environment values from app_config.json on startup.
    Load the environment values from app_config.json on startup.

    启动时从 app_config.json 加载环境值。

    Using the mocked API client for requests
    Using the mocked API client for requests

    对请求使用模拟 API 客户端

    Flutter Data triggering FindAll method for recipes
    Flutter Data triggering FindAll method for recipes

    Flutter 数据触发 FindAll 方法

    Display the recipes returned
    Display the recipes returned
  • 相关阅读:
    “量化交易”、“算法交易”、“电子交易”等新型交易模式是如何发展起来的呢?
    PHP 程序员转 Go 语言的经历分享
    Nginx配置文件详解
    Vue2.x秘籍(上)
    hid-ft260驱动学习笔记 5 - ft260_i2c_probe
    文本预处理——理论
    方法覆盖与方法重载
    B. Square Filling
    激活函数总结(三十九):激活函数补充(NFN、Hermite)
    实测_GPT_Assistant
  • 原文地址:https://blog.csdn.net/weixin_42320543/article/details/128111231