关于这个问题有很多类似的问题,但我对你的问题有明确的要点。
我是Android开发的新手,之前我只开发了存储小型数据的小型应用程序。例如国家列表,日历,生日提醒等。我将我的小数据存储在单个XML文件中,并使用简单的方法对其进行解析。这对我来说已经足够了。但是对于我的移动应用程序开发课程,我选择了一个存储大量静态数据的项目。
我的项目规格将如下:
如果我简单地计算,我必须为我的应用程序存储200 X 20 X 30 = 120.000静态数据,并且数据不会改变。这只是安装和使用应用程序。不需要在线数据交互。 (如果数据有一些变化,我将在很长一段时间内重新发布主要更新。)
我的问题是存储方法。
我应该选择哪种方式? SQLite或XML解析?您可以根据自己的答案解释优缺点吗?
答案 0 :(得分:1)
有趣的项目,虽然不一定是现实的。
要管理大量“静态”数据,您需要一个数据库。 XML解析强制您将数据存储在内存中,这意味着您必须定期将其读入内存。请记住,当用户访问您的应用时,您无法计算内存数据; Android可能以前破坏了您的应用。
另一方面,您可以直接从您的应用程序在磁盘上使用SQLite数据库。即使你的应用程序消失,它仍然是持久的。安装应用程序时,您必须加载一次数据库。
考虑将SQLite数据库包装在内容提供程序中。除其他外,这将允许您使用CursorLoader执行异步查询。