- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试查看我的应用程序的 shared_pereferences 中是否有可用的 id 键,如果有,则将我的用户重定向到主页。我在 main.dart 的 initState() 函数中检查 Id,我知道该 id 存在,因为我可以在其他页面中获取它。但在我的 main.dart 中它返回 null。有任何想法吗?这是我的 main.dart 代码:
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import './ui/pages/auth/auth_one.dart';
import './ui/pages/main_page.dart';
import 'package:shared_preferences/shared_preferences.dart';
void main() {
SystemChrome.setPreferredOrientations(
[DeviceOrientation.portraitDown, DeviceOrientation.portraitUp])
.then((_) => runApp(MyApp()));
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
String userId;
@override
void initState() {
_getUserId().then((id) => userId = id);
super.initState();
}
@override
Widget build(BuildContext context) {
print(userId);
return MaterialApp(
theme: ThemeData(primarySwatch: Colors.deepPurple),
debugShowCheckedModeBanner: false,
home: userId == null ? AuthOne() : MainPage(),
);
}
_getUserId() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
var id = prefs.getString('id');
return id;
}
}
最佳答案
您的 _getUserId
方法是异步的,因此您必须在获得结果后刷新小部件。
使用这个:
@override
void initState() {
_getUserId().then((id) {
//calling setState will refresh your build method.
setState(() {
userId = id;
});
});
super.initState();
}
关于flutter - shared_preferences 在现有值上返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55562022/
我正在对共享首选项运行一些单元测试。我正在制作一个帮助程序类,这样我们就不必一遍又一遍地编写相同的代码。 无论我尝试什么,我总是一遍又一遍地得到同样的错误。您将找到我正在测试的类、测试类和堆栈跟踪。
我一直在 flutter 中使用 shared_preferences,直到现在工作正常。突然它停止工作,无论是在 iOS 还是 Android 中。我逐步调试它并将数据存储到 pref,当应用程序打
我有一个非常简单的flutter应用程序,它想使用shared_preference lib。在我将其包含在我的应用中之前,它已经可以构建,但是在安装后,我从gradle中收到错误。 错误: * Er
我正在尝试查看我的应用程序的 shared_pereferences 中是否有可用的 id 键,如果有,则将我的用户重定向到主页。我在 main.dart 的 initState() 函数中检查 Id
我目前正在处理应用程序的缓存处理。 Shared_Preferences 文档指出,更大的信息应该存储在其他地方,但我所使用的几乎都是数组,最多只能有 800-900 个元素,包含简单的整数。 最佳答
我正在编写一个 flutter 应用程序,并且在编写测试时遇到了这个问题。此方法应该将数据写入 TextFields 并点击一个将这些数据保存在 SharedPrefs 中的按钮: testWidge
我对Flutter还是很陌生,现在我正尝试使用其 shared_preferences 包来保存String并取回它。 现在,我相信getString应该返回一个String(至少这是VS Code告
Flutter web 现在支持 shared_preferences .我已添加 shared_preferences到我的 flutter 网络应用程序。 我的问题是当我设置首选项时,比如当我启动
Shared_preferences ( https://pub.dev/packages/shared_preferences ) 似乎不适用于 Flutter for Web。 我有按下按钮时调用
是否可以一次写一个完整的shared_preferences.xml? 我想实现一种设置导入/导出,所以我需要在不丢失 xml 标签的情况下读取和写入整个文件。 读取文件很容易,但是当我写入我的值(使
required this.favorite, 我像这样从上一页得到 bool 值。由于我使用了pageview,所以我想像这样将值存储在索引中以备后用。 loadFavorite() async
您好,每当我构建 apk 时,都会收到这些警告。我几乎不知道那里发生了什么。 但我认为这与我的代码无关。 我可以做些什么,还是应该暂时忽略这些警告并等待此软件包更新? C:\Apps\flutter\
因为 hr 依赖于 flutter_session ^0.1.1,而 flutter_session ^0.1.1 又依赖于 shared_preferences ^0.5.8,所以需要 shared
我在 flutter 中创建了新应用程序,当我运行它时它可以工作,但是当我添加shared_preferences包时,我在运行它时收到此错误 FAILURE: Build failed with a
我正在使用 shared_preferences Flutter 中的依赖。 构建 Xcode (Product->archive - for Generic target) 失败 module 's
我正在使用 flutter 1.2,我的项目在添加 shared_preferences 包之前成功运行。我正在使用 shared_preferences: ^0.5.1+2。 添加后,flutter
我正在使用SHARED_PARESSION^2.0.15。我面临着Webview注销问题。每次用户重新启动应用程序时,用户都会从网页视图中注销。当用户登录Webview并生成Cookie时,我正在尝试
当我添加Shared_Preferences依赖项时,项目不会运行。版本:最新版本2.2.0。以下是错误消息:。我在Main函数中添加了WidgetsFlutterBinding.ensureInit
我正在尝试在我的应用程序中使用共享首选项,甚至在我使用它之前,只需添加依赖项就会出现此错误。有任何想法的人吗?提前致谢 最佳答案 我在使用 aapt2-proto 时遇到了这个问题并以这种方式修复它:
所以我们有一个 Flutter 应用程序——它有很多用户偏好。迄今为止,我们一直在使用 shared_preferences 插件来处理它们(就像 Flutter 领域的其他人一样)。生活很幸福。 现
我是一名优秀的程序员,十分优秀!