1

总的来说,我一直在黑莓开发和黑莓 SQLite 方面遇到问题。

我正在考虑在设备上存储数据的替代方案。

首先,存储在设备上的数据 99% 的时间都来自 Web 服务调用。Web 服务响应的范围可以从小于 0.5kB 到 10 甚至 20 Kb。

我遇到的很多麻烦都围绕着这样一个事实,即我使用线程来使我的 Web 服务调用异步,并且数据库连接之间会出现许多冲突。我也遇到了问题DatabaseOutOfMemoryException,我什至在文档中都没有找到。

将 Web 服务响应存储在它的原始 XML 中(作为设备上的 xml 或 txt 文件),并且每次我想在 UI 上加载一些东西时从那里读取它是一个好主意吗?现在我只是在一个字符串中获取原始 XML 并解析它(使用 DocumentBuilder 等......),将内容存储到我的 SQLite 的不同表中。

取消 SQLite 并专门使用 XML 会更快吗?会不会容易些??对打开文件的读/写访问是否会发生冲突?我的应用程序有很多读/写操作,所以我想让它尽可能易于管理。

任何想法都会很棒,谢谢!

4

1 回答 1

3

您可以使用持久存储,而不是 SqlLite。持久存储的一大优势是它始终可用 - 无需担心丢失 SDCard 或在设备连接 USB 时挂载文件系统。“大”是指从支持的角度来看,这绝对是巨大的。当 SqlLite 数据库在 BlackBerry 上可用时,解释所有的边缘情况是一个巨大的痛苦

持久存储的最大缺点是每个对象有 64kb 的限制。如果您知道您所有的 XML 片段永远不会超过这个值,那么您就可以了。但是,如果您可能超过 64kb,那么您将需要提出一个可持久化的对象,该对象有意将任何大型流分成每个小于 64kb 的组件。

于 2012-09-12T03:58:00.303 回答