在flutter应用程序中创建的SharedPreference的名称是什么?

问题描述 投票:0回答:1

我刚刚接触 Flutter,来自 Android, 在android中我们声明sharedPreference名称如

SharedPreferences sp = Activity.this.getSharedPreferences("USER", MODE_PRIVATE);

由此在 android USER.xml 文件中创建,

那么,在这个例子中,flutter app 创建的sharedPreference 的名称是什么? 我如何将数据集合存储在sharedPreference中,例如 用户, 兴趣爱好 类型, 等等

addIntToSF() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  prefs.setInt('intValue', 123);
}

读取数据

getIntValuesSF() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  //Return int
  int intValue = prefs.getInt('intValue');
  return intValue;
}
flutter flutter-sharedpreference
1个回答
3
投票

您可以查看shared_preferences包的

源代码

// Line 37
private static final String SHARED_PREFERENCES_NAME = "FlutterSharedPreferences";

// ...

// Line 54
preferences = context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);

所以名称就是“FlutterSharedPreferences”。

如果您想按模型(例如 User、HobbieType)对条目进行分组,您可以为每个键添加前缀:

addIntToSF() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  
  // Entries related to users
  prefs.setInt('User_intValue', 123);
  prefs.setString('User_strValue', "123");
  prefs.setBool('User_boolValue', true);
  
  // Entries related to hobbie types
  prefs.setInt('HobbieType_intValue', 456);
  prefs.setString('HobbieType_strValue', "456");
  prefs.setBool('HobbieType_boolValue', false);
}
© www.soinside.com 2019 - 2024. All rights reserved.