我需要跨活動傳遞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