14

我正在用 Flutter for web 构建一个 web 应用程序,我确定在移动版本的 Flutter 中有一种方法可以在设备中存储数据,但我不知道这是否已经在 web 的 Flutter 中实现了。

4

4 回答 4

6

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

于 2020-05-26T03:22:59.430 回答
3

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

于 2019-07-31T09:16:29.213 回答
2

您可以使用包中的本地存储,dart:html如果您的应用程序也在移动设备上运行,最好使用提供.dart:html

如果您的应用程序支持移动设备,那么在我写这个答案时,dart 编译器会用这个大喊大叫,

避免在非 Web 插件的 Flutter 包中使用 Web 库、dart:html、dart:js 和 dart:js_util。这些库在 Web 上下文之外不受支持;依赖于它们的功能将在 Flutter 移动端运行时失败,并且通常不鼓励在 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']);
}
于 2021-01-09T09:48:10.050 回答
2

Moor是一个反应式持久性数据存储库,它建立在 indexedDb 之上sqlite并基于indexedDb。该库与大多数 Web 浏览器兼容。您可以使用该软件包并从官方链接
查看文档和示例。

于 2021-03-02T09:28:34.987 回答