首页 文章

如何在Flutter中使用共享首选项

提问于
浏览
2

我试图将数据保存到颤动的共享首选项中,但每当我调用此函数时,我在命令行中得到一条消息

Closure(): => Null

Future saveName(String name)async{
  SharedPreferences prefs=await SharedPreferences.getInstance();   
  prefs.setString("name ", name);
}

这个函数存储在一个外部文件中,我在按下的图标按钮上调用它

new IconButton(icon: new Icon( Icons.arrow_right),onPressed: ()=>print((){saveNamePreference(name.text);}),)

void saveNamePrederence(String name){
  saveName(name);
  print("Name Saved Successfully");
}

有人指出我正确的方向

1 回答

  • 4

    异步未被称为正确 . 首先使用异步调用 saveNamePreference

    new IconButton(
        icon: new Icon( Icons.arrow_right),
        onPressed: () async {
            var _temp = await saveNamePreference(name.text);
            print(_temp);
        }
    )
    

    然后正确地返回状态:

    bool saveNamePreference(String name) async {
        try {
            SharedPreferences prefs=await SharedPreferences.getInstance();   
            prefs.setString("name ", name);
            return true;
        } catch (e) {
            print(e);
            return false;
        }
    }
    

相关问题