【问题标题】:Blackberry SQLite or XML files for storage?用于存储的黑莓 SQLite 或 XML 文件?
【发布时间】:2025-11-22 07:10:01
【问题描述】:

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

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

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

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

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

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

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

【问题讨论】:

    标签: sqlite blackberry


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢!您是在谈论使用持久存储存储我的原始 XML 吗?另外,您是否碰巧知道有关如何将大于 64kb 的文件拆分为可管理的片段的任何教程??
    最近更新 更多