java - 在 Android 中存储数据的最佳方式

标签 java android database

<分区>

我想以结构形式存储数据,即有关许多调用的所有信息(如调用日志)。我应该选择什么?我不想与其他应用程序共享我的数据。

  1. SQLite数据库
  2. 内容提供者
  3. 共享偏好
  4. 或文件存储
  5. 或任何我不知道的满足我要求的方式。

最佳答案

SharedPreferences 显然在内部实现为一个 XML 文件,该文件在更新时被完全序列化和反序列化。它是一个没有索引的 Key-Value 存储。因此,仅将其用于与您的应用关联的简单数据。任何超过 50 个键,您可能已经过头了。

ContentProvider 旨在跨应用程序共享数据。您已明确表示不想这样做。

SQLiteDatabase 旨在供各个应用程序存储数据,并提供很大的灵 active 以不同方式存储和索引数据。我个人使用它在我的一个应用程序中存储日志。我会推荐那条路线。

另一种选择是登录存储在文件存储中的普通文本文件。

关于java - 在 Android 中存储数据的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5617307/

相关文章:

java - 使用 ASM 树 API 获取字段的修饰符

java 8 - Icomparable<T> 的注释 compareTo <T> 也添加了注释 compareTo(Object o)

android - 如何将数据写入文件并从应用程序外部访问它(没有 SD 卡)?

sql - Nativescript 离线数据

php - 使用 PHP 的 RSS 提要将日期时间 (GMT) 发布为 Unix 时间戳格式

java - 如何使单元测试始终通过?

java - 提供多个数据值后,可以编写什么代码来比较数据并确定最高/最低值? java

android - C/C++ printfs - 它出现在 Android native 代码中的什么位置?

android - 在高 PPI 屏幕上,使用 CSS background-size 在 WebView 中提供模糊图像

mysql - 无法在 MYSQL 5.5 w/MYSQL Workbench 中更改模式名称