0

关于这个问题有很多类似的问题,但我有明确的问题要问你。

我是 Android 开发的新手,之前我只开发过存储小型数据的小型应用程序。例如国家列表、日历、生日提醒等。我将我的小数据存储在单个 XML 文件中,并用简单的方法对其进行解析。这对我来说已经足够了。但是对于我的移动应用程序开发课程,我选择了一个可以存储大量静态数据的项目。

我的项目的规格如下:

  • 大约有200个实体。
  • 每个实体有大约 20 个子类别,它们以文本格式存储。
  • 每个子类别有大约 30 个子类别,它们以文本格式再次存储。
  • 同样对于每个父实体,我将有 2-3 个图像

如果我简单计算,我必须为我的应用程序存储 200 X 20 X 30 = 120.000 个静态数据,并且数据不会改变。这只是安装和使用应用程序。不需要在线数据交互。(如果数据有一些变化,我会在很长一段时间内发布重大更新。)

我的问题是关于存储方法。

我应该选择哪种方式?SQLite 或 XML 解析?对于您的答案,您能解释一下您选择的优点/缺点吗?

4

1 回答 1

1

有趣的项目,虽然不一定现实。

要管理大量“静态”数据,您需要一个数据库。XML 解析迫使您将数据存储在内存中,这意味着您必须定期将其读入内存。请记住,当用户访问您的应用程序时,您无法计算内存中的数据;Android 之前可能已经破坏了您的应用程序。

另一方面,您可以直接从您的应用程序使用磁盘上的 SQLite 数据库。它是持久的,即使您的应用程序消失了。安装应用程序时,您必须加载一次数据库。

考虑将 SQLite 数据库包装在内容提供程序中。除其他外,这将允许您使用 CursorLoader 执行异步查询。

于 2013-04-05T19:44:23.440 回答