SharedPreferences不是List而是Set

时间:2016-07-29 11:33:37

标签: android generics set sharedpreferences android-sharedpreferences

我需要跨活动传递ArrayList并使其持久化。 从一个受欢迎的SO帖子我找到了solution。但我仍然无法理解为什么API 11中的SharedPreference采用Set SharedPredferences.getStringSet但不是直接的常见ArrayList。 原因是什么,例如为了避免重复使用Set例如?

2 个答案:

答案 0 :(得分:1)

With reference of this,SharedPreference背后的概念是为您的应用设置构建用户界面。您只能在共享首选项中添加键值类型的数据。

答案 1 :(得分:1)

如果您只需要持久化简单标志,并且您的应用程序在单个进程中运行,则SharedPreferences可能已经足够您。这是一个很好的默认选项。

  

您可能不想使用SharedPreferences有两个原因:

  1. 效果:您的数据很复杂,或者有很多数据
  2. 访问数据的多个进程:您有小部件或远程 在自己的进程中运行并需要同步的服务 数据
  3. 您应该使用捆绑将列表共享给其他活动。如果它是全局使用的东西,请将其保存在数据库(Sqlite)