Flutter For Web 有存储数据的方法吗?
Flutter For Web is there a way to store data?
我正在构建一个带有 flutter for web 的 web 应用程序,我确信在 flutter 的移动版本中有一种方法可以在设备中存储数据,但我不知道这是否在flutter for web 呢。
显然你可以使用 localStorage
:https://github.com/flutter/flutter/issues/35116
您可以使用 SharedPreferences 插件来存储和检索持久性简单数据。他们从版本 0.5.4+7
开始支持网络
您可以使用 dart:html
包中的本地存储,但如果您的应用程序也在移动设备上运行,则最好使用 universal_html 包,它提供 dart:html
的所有功能。
如果你的应用程序支持移动设备,在我写这个答案的时候,dart 编译器会用这个对你大喊大叫,
Avoid using web libraries, dart:html, dart:js and dart:js_util in
Flutter packages that are not web plugins. These libraries are not
supported outside a web context; functionality that depends on them
will fail at runtime in Flutter mobile, and their use is generally
discouraged in 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']);
}
Moor
是一个反应式持久化数据存储库,它建立在sqlite
之上,基于indexedDb。这个库与大多数网络浏览器兼容。
您可以使用该包并查看 official link.
中的文档和示例
我正在构建一个带有 flutter for web 的 web 应用程序,我确信在 flutter 的移动版本中有一种方法可以在设备中存储数据,但我不知道这是否在flutter for web 呢。
显然你可以使用 localStorage
:https://github.com/flutter/flutter/issues/35116
您可以使用 SharedPreferences 插件来存储和检索持久性简单数据。他们从版本 0.5.4+7
您可以使用 dart:html
包中的本地存储,但如果您的应用程序也在移动设备上运行,则最好使用 universal_html 包,它提供 dart:html
的所有功能。
如果你的应用程序支持移动设备,在我写这个答案的时候,dart 编译器会用这个对你大喊大叫,
Avoid using web libraries, dart:html, dart:js and dart:js_util in Flutter packages that are not web plugins. These libraries are not supported outside a web context; functionality that depends on them will fail at runtime in Flutter mobile, and their use is generally discouraged in 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']);
}
Moor
是一个反应式持久化数据存储库,它建立在sqlite
之上,基于indexedDb。这个库与大多数网络浏览器兼容。
您可以使用该包并查看 official link.