Flutter For Web是否可以存储数据?

时间:2019-07-31 09:06:41

标签: web flutter dart flutter-web

我正在使用带有flutter的web构建Web应用程序,我确定在flutter的移动版本中可以将数据存储在设备中,但是我不知道这是否在flutter中实现了网页。

4 个答案:

答案 0 :(得分:3)

显然您可以使用localStoragehttps://github.com/flutter/flutter/issues/35116

答案 1 :(得分:2)

您可以使用SharedPreferences插件来存储和检索持久性简单数据。他们从版本0.5.4+7

开始支持网络

答案 2 :(得分:2)

您可以使用 dart:html 包中的本地存储,但如果您的应用也在移动设备上运行,最好使用提供 dart:html 的所有功能的 universal_html 包。

如果您的应用程序支持移动设备,则在我撰写此答案时,dart 编译器会向您大喊大叫,

<块引用>

避免在 web 库中使用 dart:html、dart:js 和 dart:js_util 不是 Web 插件的 Flutter 包。这些库不是 在网络环境之外支持;依赖于它们的功能 在 Flutter mobile 中运行时会失败,它们的使用一般是 在 Flutter web 中不鼓励使用。

universal_html 的简单示例:

import 'package:universal_html/html.dart';

void main() {
  String username = window.localStorage['username'];
  if (username == null) {
    window.localStorage['username'] = "dartyDev";
  } else {
    window.localStorage.remove('username');
  }
  // Get the latest updated value
  print(window.localStorage['username']);
}

答案 3 :(得分:2)

Moor 是一个反应式持久性数据存储库,它构建在 sqlite 之上,并基于 indexedDb。该库与大多数网络浏览器兼容。
您可以使用该软件包并查看 official link 中的文档和示例。