使用Flutter时,我有哪些存储数据的选项? (iOS和Android)

时间:2018-07-10 16:50:23

标签: android ios flutter

我仍然对Flutter环境并不陌生,在使用Flutter构建应用程序时,很难找到有关存储选项的信息。

has been asked for react native类似,我想知道我在选择方面的选择

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

我已经搜索了flutter packages for database,但发现它没有太大帮助。任何答案,指导和参考将不胜感激。

4 个答案:

答案 0 :(得分:3)

我在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. 自定义->(将数据存储在临时对象中,但只能在应用运行时访问)

答案 1 :(得分:0)

您可以将 import { Component, OnInit, OnDestroy, NgZone } from '@angular/core'; @Component({ selector: 'app-display', template: //.....rest of the code constructor(private messenger: MessagingService,private zone: NgZone,) {} ngOnInit() { this.data = new Data(); this.sub = this.messenger.value$.subscribe( res => { this.zone.run(() => this.data.value = res) } ); } 等同于React Native 异步存储,可以阅读更多hereshared_preferences是拥有供脱机使用的本地数据库的好方法。 您可以使用firebase插件进行在线数据存储和同步。

答案 2 :(得分:0)

要存储大型数据库,可以使用here中说明的SQFlite Helper。

答案 3 :(得分:0)

我曾经在Realm Xamarin团队工作,目前在Xamarin Forms应用程序和Swift应用程序中都使用Realm,所以当我开始沉思时,Flutter对其进行了研究。

截至2018-12年度,Realm不支持Flutter,其原因与任何其他基于C的数据引擎都将陷入困境-根据this issue所述,Flutter支持不佳。

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

请求将issue tracker thread加到Realm和forum discussion上很长。

不足为奇的是,目前有Firebase和SQLite支持。