在Android中选择最佳存储类型

时间:2013-04-05 19:30:17

标签: android xml database sqlite parsing

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

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

我的项目规格将如下:

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

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

我的问题是存储方法。

我应该选择哪种方式? SQLite或XML解析?您可以根据自己的答案解释优缺点吗?

1 个答案:

答案 0 :(得分:1)

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

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

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

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