android - SQLite 和共享首选项的优缺点

标签 android database sqlite sharedpreferences data-storage

在 SQLite 数据库和共享首选项之间存储信息的好机制是什么?

为什么要使用共享偏好?为什么要使用 sqlite?我试图找出它们之间的区别,哪个是更好的数据存储机制,但我无法在 Google 上找到合适的答案。请帮我举例和解释。

最佳答案

这实际上取决于您要存储的数据。

SQLite

大量相同的结构化数据应存储在 SQLite 数据库中,因为数据库是为此类数据设计的。由于数据是由数据库结构化和管理的,因此可以使用 SQL 等查询语言对其进行查询以获取符合特定条件的数据子集。这使得在数据中进行搜索成为可能。当然,管理和搜索大量数据会影响性能,因此从数据库读取数据可能比从 SharedPreferences 读取数据要慢。

SharedPreferences

SharedPreferences 是一个键/值存储,您可以在其中将数据保存在某个键下。要从存储中读取数据,您必须知道数据的键。这使得读取数据非常容易。但是,存储少量数据很容易,存储和读取大型结构化数据很困难,因为您需要为每个数据定义键,而且您无法真正在数据中搜索,除非您有一定的概念命名键。

关于android - SQLite 和共享首选项的优缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6276358/

相关文章:

android - ProgressDialog 不会在新线程之前启动

android - Kotlin 类型不匹配 : inferred type is View! 但 TextView 是预期的

android - 配置 IntelliJ IDEA,以便在 git 中检测到源但检测到未注册的 Vcs 根

android - 数据库和网络服务模型

python - 是否可以使用 SQLAlchemy 将 SQLite 数据库读入内存?

android - 自定义水平(更像圆形)表格 View

java - 为数据库提供 Java .jar 文件?

java - SQL 更新不适用于整数 ID

java - 需要从中获取 JSONObjects

android - Realm 是否对表的一列有大小限制