【问题标题】:What are my options for storing data when using Flutter? (iOS and Android) [closed]使用 Flutter 时我有哪些存储数据的选项? (iOS和Android)[关闭]
【发布时间】:2018-12-18 14:43:33
【问题描述】:

我还是 Flutter 环境的新手,在使用 Flutter 构建应用程序时很难找到有关存储选项的信息。

类似于has been asked for react native,我想知道我的选择是什么

  • 数据持久性
  • 远程或语言环境
  • 离线行为(如果适用)
  • 数据库安全
  • 应用性能
  • 定价
  • 实时同步
  • 与第三方库和 Flutter 模块的兼容性
  • 还有什么...

我搜索了flutter packages for database,但没有发现它很有帮助。任何答案、指南和参考将不胜感激。

【问题讨论】:

  • 你试过 sqlite 了吗?
  • 虽然问题写得很好,但它不属于所以没有有限的答案。这应该更多是中等帖子或类似帖子的主题。不是这样的问题。
  • 像 react native 一样,可以使用 firebase。谷歌颤振火力基地。
  • 好问题。我只对寻找颤振的 ORM 感兴趣,因为这将解决数据库问题。有了功能性 ORM,您就可以使用任何数据库。
  • 我不能对评论投反对票,所以在文本中这样做 - 强烈反对 Rémi Rousselet。我认为 SO 询问“我的选择是什么”的正确位置。 OP 并不要求对“最佳”进行比较判断,而只是列出现在可用的内容以及性能等任何确凿事实。

标签: android ios flutter


【解决方案1】:

我在 GitHub 上有一个开源项目,请务必查看 -

A flutter project with Implementation of a Contacts app in 4 ways (API, Custom, Preferences and Sqflite).

在这个示例项目中,我使用了 4 种方式在 Flutter 中存储数据,如下所示 -

  1. REST API ->  (您可以将数据存储在服务器上并使用 REST API 执行 CRUD 操作)
    HTTP Package for REST APIs Integration in Flutter

  2. 首选项 ->   (将您的数据存储在共享首选项中)
    Shared Preferences Package in Flutter

  3. Sqlite ->   (将您的数据存储在 SQLite 数据库中)
    Sqflite Package in Flutter

  4. 自定义 ->   (将您的数据存储在临时对象中,但只能在应用运行时访问)

【讨论】:

  • 嗨,我怎样才能实现第四点,即将您的数据存储在临时对象中,但它只能在应用程序运行时访问任何示例?
  • @VijayAnkith 检查以下 repo 的源代码 - github.com/harsh159357/contacts
  • 休息 api。处理图片存储容易吗?
  • @RokasDevolskis rest api 是存储图像的简单方法,但在我的示例项目中,我以 BLOB 方式进行(您可以将图像直接存储在数据库中的表中)。但我可能会建议您使用一些图像托管服务来存储图像,并使用该图像托管服务图像 url 保存在您的表中
【解决方案2】:

您可以将shared_preferences 用作React Native 异步存储的等效项,您可以阅读更多heresqflite 是让本地数据库离线使用的好方法。 您可以使用firebase 插件进行在线数据存储和同步。

【讨论】:

    【解决方案3】:

    要存储大型数据库,您可以使用 here 中解释的 SQFlite Helper。

    【讨论】:

      【解决方案4】:

      我曾经在 Realm Xamarin 团队工作,目前正在 Xamarin Forms 应用和 Swift 应用中使用 Realm,所以当我开始思考 Flutter 时,我研究了它。

      Realm 截至 2018-12 年不支持 Flutter,原因与任何其他基于 C 的数据引擎都会遇到困难的原因相同 - 根据 this issue,问题是 Flutter 支持不佳。

      必要的第一步可能是Dart VM FFI issue

      有一个很长的 issue tracker thread 请求将其添加到 Realm 和 forum discussion

      不出所料,目前有 Firebase 和 SQLite 支持。

      【讨论】:

        猜你喜欢
        • 2017-11-06
        • 2019-12-16
        • 2011-03-23
        • 2011-04-27
        • 2011-05-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多