Shared Preference的概念是特定于 android 的,在 iOS 中不可用。如果你想保存一些东西,我建议你使用Flutter中的Method Channel(Platform Channel)将它发送到原生层并保存。
对于 iOS,使用userDefaults来保存您的数据。
附加信息:
如何使用共享首选项保存数据?
SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0); // 0 - for private mode
Editor editor = pref.edit();
editor.putBoolean("key_name", true); // Storing boolean - true/false
editor.putString("key_name", "string value"); // Storing string
editor.putInt("key_name", "int value"); // Storing integer
editor.putFloat("key_name", "float value"); // Storing float
editor.putLong("key_name", "long value"); // Storing long
editor.commit(); // Don't forget to commit when your changes are done.
检索数据
// returns stored preference value
// If value is not present return second param value - In this case null
pref.getString("key_name", null); // getting String
pref.getInt("key_name", null); // getting Integer
pref.getFloat("key_name", null); // getting Float
pref.getLong("key_name", null); // getting Long
pref.getBoolean("key_name", null); // getting boolean
如何使用 userDefaults 保存数据?
NSString *valueToSave = @"someValue";
[[NSUserDefaults standardUserDefaults] setObject:valueToSave
forKey:@"preferenceName"];
[[NSUserDefaults standardUserDefaults] synchronize];
检索保存的数据
NSString *savedValue = [[NSUserDefaults standardUserDefaults]
stringForKey:@"preferenceName"];
更新 :
有一个颤振插件可以为我们做这件事。
将此添加到您的pubspec.yaml 文件中
dependencies:
shared_preferences: "^0.4.0"
并在项目根目录的命令行中运行。
$ flutter packages get
现在在你的 Dart 代码中你可以使用,
import 'package:shared_preferences/shared_preferences.dart';