我需要跨活动传递ArrayList并使其持久化。 从一个流行的SO贴子,我发现了solution。但是我仍然不明白为什么来自API 11的SharedPreference需要一个Set SharedPredferences.getStringSet而不是直接使用一个很常见的ArrayList。 什么是逻辑的原因,例如。为避免重复使用Set例如?SharedPreferences不需要列表,但设置
0
A
回答
1
如果您只需要坚持简单的标志并且您的应用程序在单个进程中运行,那么SharedPreferences对您来说可能就足够了。这是一个很好的默认选项。
有两个原因,您可能不希望使用SharedPreferences:
- 性能:您的数据是复杂或有很多的它
- 访问数据的多个进程:您具有小部件或远程服务 在他们自己的进程中运行并需要同步的服务 数据
你应该可以使用Bundle共享列表到另一个活动。如果它是一个全球使用的东西保持在你的数据库(Sqlite)
1
With reference of this,SharedPreference背后的概念是为您的应用程序设置构建用户界面。您只能在共享首选项中添加键值类型的数据。
相关问题
- 1. SharePoint字段设置为不需要,但仍需要输入
- 2. 设置不需要列表对象的属性
- 3. NHibernate的inteceptor不需要改变多对多的设置/列表
- 4. 要放置的图像需要右键:0px,但不需要
- 5. android sharedpreferences设置值
- 6. 需要Seriazlize列表<object>,但FXCop抱怨“不要暴露通用列表”
- 7. 斯卡拉发现列表和SeqProjection,需要序列和设置
- 8. sqlite表不需要列名?
- 9. 需要设置重用标识符,但不可能
- 10. 需要配置设置
- 11. 需要获取所有sharedPreferences但按正确的插入顺序
- 12. 需要JDBC,但不需要使用jdbc
- 13. Wordpress设置需要哪些表格?
- 14. 在SharedPreferences中BackgroundImage设置不正确
- 15. 将SharedPreferences(不DefaultSharedPreferences)设置为默认值
- 16. 车速表不响应,但需要是
- 17. 如何根据需要在MVC3中设置下拉列表
- 18. 根据需要设置表格列宽度(HTML/CSS)
- 19. 需要设置列表视图中的其他信息
- 20. iad旗帜不需要设置?
- 21. 不需要的打印设置
- 22. 根据SharedPreferences设置OnClickListeners
- 23. 设置SharedPreferences时获取NullPointerException
- 24. 设置sharedPreferences默认值
- 25. 获取和设置sharedpreferences
- 26. 设置sharedpreferences默认值
- 27. JOIN表,而不用重复,但需要列
- 28. netsh acl设置(需要替代方法 - 注册表设置?)
- 29. 我需要设置一个变量,但我也需要它是最终的。
- 30. SharedPreferences需要Base64编码帮助
你的回复更务实,它避免了使用ArrayList的问题,所以虽然Pranav更清楚地表明,结构上SharedPreference是采取k,价值观,你直接根据性能原因而下降并提出了两种解决方案。其中一个SQlite是我将要使用的一个,因为我发现可以使用DISTINCT在具有ArrayList值的列中检索唯一值! – trocchietto