Android - 数据库与文件系统&对象

时间:2011-11-04 16:30:52

标签: android database json parsing filesystems

我有以下场景:我正在将服务器的JSON响应解析为sqlite数据库,然后我使用数据库和数据模型进行查询,过滤,...

我的一位同事,一位iOS开发人员说,他不再对数据模型进行JSON解析,而是不再对数据库进行持久化。他只需要使用字典,使它们在应用程序范围内可用,并且持久性将它们保存为二进制文件。

现在我想知道,有没有人在Android上以同样的方式做到这一点?在App中说1000个HashMap-Objects(每个有大约10个其他对象(字符串))会不会有问题?对我来说似乎很不错,它会降低我的应用程序性能吗?但为什么它在iOS上运行良好?

3 个答案:

答案 0 :(得分:2)

我们在不同的项目中都做到了。我们将数据保存在json中的一个项目有很多不同的字段和一些树结构,因此将它存储到数据库将是很多繁忙的工作。但是,由于尺寸的原因,我们遇到了内存问题。

为了让您的数据更轻松,并且与CoreData大致平行,请查看http://ormlite.com/。它是一个与Android / Sqlite一起使用的orm工具。我做了最初的Android端口并在我做的每个项目中都使用它。如果您有大量数据并且只访问小部件,那么数据库可能会更好。

1000对象不会真正杀死你,但它的项目具体而且很难说。但是,我并不认为将Json留在内存中的任何一个平台都会更好。至少不是数量级。

答案 1 :(得分:0)

您想要保留数据吗?如果您希望从一个应用程序运行到下一个应用程序,则必须通过将其存储到文件中来执行此操作。我发现数据库最容易,但我想如果你真的想要,你可以把它放在某种二进制文件中。但是你必须担心如何从序列化数据中来回走动。

如果您希望在应用程序生命周期内将所有内容保存在内存中,那很好。您可能会注意到一些速度增加。一个1000对象的HashMap应该适合你的记忆。

答案 2 :(得分:0)

我无法从你的同事的描述中看出来,但他的实现可能正在使用CoreData,这是一个在Android中没有并行的iOS工具。您提供的说明与其匹配程度很高。在Android have been addressed here上解决该功能的其他方法。