最近我发现了如何使用SharedPreferences
,我发现在活动之间传递数据非常容易。但我很好奇它的缺点。有一次,我偶然发现this帖子说,如果数据很大,那么滥用SharedPreferences
是不好的,但我真的不明白要扩展的是什么。
假设我的应用程序使用API检索一些字符串列表,例如用户基本详细信息和用户首选项。建议使用SharedPreferences
传递这些细节吗?或者我应该使用某种数据库来处理我检索到的所有数据?
答案 0 :(得分:1)
当您使用SharedPrefrences以及何时使用SQLite时,它实际上取决于数据,当您必须使用sharedprefence并且必须使用SQLite时,有很好的解释Here
答案 1 :(得分:1)
这实际上取决于您要存储的数据。
SharedPreferences
可用于存储任何(且仅限)原始数据类型 - booleans
,floats
,ints
,longs
和{{1} } strings
可以存储在2个级别 - 活动或应用程序。
SharedPreferences
- 由传递给它的名称标识的应用程序范围的首选项文件作为第一个参数。
getSharedPreferences()
- 未指定名称的活动级首选项对象,因为活动只有一个文件。
getPreferences()
以密钥值为基础。您只需提供密钥并获取您存储的值。很棒
SharedPreferences
是一个SharedPreferences
商店,您可以在其中保存特定密钥下的数据。 了解更多关于shared prefrences或What are the advantage and disadvantage of shared preference
的信息key/value
是一个开源关系数据库,用于在Android设备上执行数据库操作,例如存储,操作或检索数据库中的持久数据。SQLite
支持所有关系数据库功能。为了访问此数据库,您不需要为它建立任何类型的连接,如JDBC,ODBC SQLite
数据库中,因为数据库是针对此类数据而设计的。 了解更多关于SQLite
阅读 Save data using SQLite