我try 这样声明实例,但它不起作用

     void main() async{
     SharedPreferences appData = await SharedPreferences.getInstance();
     runApp(const MyApp());

我只想定义实例一次,并在需要时调用全局变量

推荐答案

将其声明为Main方法,如下所示

late SharedPreferences appData;

并在主实例中为其分配如下实例

 void main() async{

 WidgetsFlutterBinding.ensureInitialized();
 appData = await SharedPreferences.getInstance();
 runApp(const MyApp());
 }

然后你可以在任何你想要的地方使用它

Flutter相关问答推荐

想更新ListView上的索引点击块Flutter

Flutter BLoC et workmanager:如何创建独特的仓库初始化模式?

在flutter web上渲染多个Youtube视频

从图标启动器打开时,VSCode未检测到Web设备

我如何在Android 13中通过Flutter应用程序打开文件(不是图像、视频或音频)?

谷歌 map 在 flutter 应用程序中显示错误的当前位置

Select 文本时如何更改 Flutter 中的光标 colored颜色 ?

找不到任何与 com.google.firebase:firebase-sessions:[15.0.0, 16.0.0) 匹配的版本

仅在获取(读取)、Provider 时,Firestore 中的数据为空

如何将取消图标放置在右上角

围绕父组件旋转位置组件

Flutter可滚动定位列表支持rtl方向吗?

如何(部分)更新 riverpod 中的 AsyncValue?

Flutter ListView 在 Column 中工作但在 Row 中不工作

状况不佳 - Cubit

如何在 flutter 中使用 tabbar 作为底部导航栏?

如何在 cupertino switch flutter 中添加文本

如何在 flutter 中过滤 DateTime(intl)?

有任何方法可以在应用程序移动背景恢复时显示 appopenAd

用于空值 FirebaseFirestore 的空值判断运算符