小型应用程序中的 SharedPreferences 优点和缺点
SharedPreferences advantages & disadvantages in small application
最近我发现了如何使用 SharedPreferences
,我发现使用它在活动之间传递数据非常容易。但我很好奇它的缺点。有一次我偶然发现 this post 说如果数据很大,滥用 SharedPreferences
是不好的,但我真的不明白扩展大是什么。
比方说,我的应用程序使用 API 检索一些字符串列表,例如用户基本详细信息和用户首选项。使用 SharedPreferences
传递这些细节是否可取?或者我应该只使用某种数据库来处理我检索到的所有数据?
何时使用 SharedPreferences 以及何时使用 SQLite 这实际上取决于数据并且有很好的解释 Here 何时必须使用 sharedPreferences 以及何时必须使用 SQLite
这真的取决于您要存储的数据。
SharedPreferences
SharedPreferences
可用于存储任何(且仅)原始数据类型 – booleans
、floats
、ints
、longs
和 strings
SharedPreferences
可以存储在 2 个级别 – activity 或应用程序。
getSharedPreferences()
– 由作为第一个参数传递给它的名称标识的应用程序范围的首选项文件。
getPreferences()
– Activity 级首选项对象,其中没有指定名称,因为只有一个文件用于 Activity.
SharedPreferences
在键值对基础上工作。您只需提供密钥并取回您存储的值。很棒
SharedPreferences
是一个 key/value
存储,您可以在其中保存特定键下的数据。
更多关于shared prefrences or What are the advantage and disadvantage of shared preference
SQLite
SQLite
是一个开源关系数据库,即用于在 android 设备上执行数据库操作,例如存储、操作或从数据库中检索持久数据。
- 它默认嵌入在 android 中。因此,无需执行任何数据库设置或管理任务。
SQLite
支持所有关系数据库功能。为了访问这个数据库,你不需要像JDBC,ODBC 那样为它建立任何类型的连接
- 大量相同的结构化数据应存储在
SQLite
数据库中,因为数据库是为此类数据设计的。
有关 SQLite
的更多信息,请阅读 Save data using SQLite
最近我发现了如何使用 SharedPreferences
,我发现使用它在活动之间传递数据非常容易。但我很好奇它的缺点。有一次我偶然发现 this post 说如果数据很大,滥用 SharedPreferences
是不好的,但我真的不明白扩展大是什么。
比方说,我的应用程序使用 API 检索一些字符串列表,例如用户基本详细信息和用户首选项。使用 SharedPreferences
传递这些细节是否可取?或者我应该只使用某种数据库来处理我检索到的所有数据?
何时使用 SharedPreferences 以及何时使用 SQLite 这实际上取决于数据并且有很好的解释 Here 何时必须使用 sharedPreferences 以及何时必须使用 SQLite
这真的取决于您要存储的数据。
SharedPreferences
SharedPreferences
可用于存储任何(且仅)原始数据类型 –booleans
、floats
、ints
、longs
和strings
SharedPreferences
可以存储在 2 个级别 – activity 或应用程序。getSharedPreferences()
– 由作为第一个参数传递给它的名称标识的应用程序范围的首选项文件。getPreferences()
– Activity 级首选项对象,其中没有指定名称,因为只有一个文件用于 Activity.SharedPreferences
在键值对基础上工作。您只需提供密钥并取回您存储的值。很棒SharedPreferences
是一个key/value
存储,您可以在其中保存特定键下的数据。
更多关于shared prefrences or What are the advantage and disadvantage of shared preference
SQLite
SQLite
是一个开源关系数据库,即用于在 android 设备上执行数据库操作,例如存储、操作或从数据库中检索持久数据。- 它默认嵌入在 android 中。因此,无需执行任何数据库设置或管理任务。
SQLite
支持所有关系数据库功能。为了访问这个数据库,你不需要像JDBC,ODBC 那样为它建立任何类型的连接
- 大量相同的结构化数据应存储在
SQLite
数据库中,因为数据库是为此类数据设计的。
有关 SQLite
的更多信息,请阅读 Save data using SQLite