我正在使用 flutter 构建登录屏幕,并在共享首选项中保存用户数据(如果正确)\n然后我在第二个屏幕中测试了保存的数据,它已经保存\n当应用程序关闭并再次打开时,我检查共享pref 但它变成了 null\n那是我的 saveData 和 getData 函数
\n\nString namePref,phonePref, typePref,statePref;\nFuture saveDataPref(String name,String phone, String type, String state )async{\n SharedPreferences pref = await SharedPreferences.getInstance();\n pref.setString(\'phone\', phone);\n pref.setString(\'name\', name);\n pref.setString(\'type\', type);\n pref.setString(\'state\', state);\n pref.commit();\n print(\'pref stored\');\n print(\'${pref.getString(\'phone\')}\');\n}\n\nFuture getDataPref() async{\n SharedPreferences pref = await SharedPreferences.getInstance();\n phonePref = pref.getString(\'phone\');\n namePref = pref.getString(\'name\');\n typePref = pref.getString(\'type\');\n statePref = pref.getString(\'state\');\n}\nRun Code Online (Sandbox Code Playgroud)\n\n我应该提到两件事\n“提交”函数已被弃用\n第二件事是代码正在处理已弃用的提交,但现在不是\ni删除了我所做的所有更改,但它仍然无法在我的设备上工作\和其他设备,不知道为什么!\n如果没有解决方案,是否有其他方法可以替代 flutter 中的共享首选项?\n这就是我使用 saveDataPref() 的地方
\n\nFuture login(BuildContext context) async {\n String password = passwordController.text;\n String phone = phoneController.text;\n print("entered login function");\n …Run Code Online (Sandbox Code Playgroud) 我的Flutter应用程序使用Flutter SharedPreferences插件,并通过platform.invokeMethod将值发送到iOS端。如果我启动应用程序,则出现此错误:
[VERBOSE-2:dart_error.cc(16)] Unhandled exception:
MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/shared_preferences)
#0 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:278:7)
<asynchronous suspension>
#1 SharedPreferences.getInstance (package:shared_preferences/shared_preferences.dart:25:27)
<asynchronous suspension>
#2 main (file:///Users/Developer/workspace/flutter-app/q_flutter2/lib/main.dart:25:53)
<asynchronous suspension>
#3 _startIsolate.<anonymous closure> (dart:isolate/runtime/libisolate_patch.dart:279:19)
#4 _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:165:12)
Run Code Online (Sandbox Code Playgroud)
如果我注释了将值发送到iOS端的函数,则不会显示错误,并且SharedPreferences可以正常工作。
有人可以帮我吗?