代码之家  ›  专栏  ›  技术社区  ›  Bostone

Android服务中的持久字段

  •  1
  • Bostone  · 技术社区  · 15 年前

    我需要在我的服务中保留一个复杂的对象,这样我就可以可靠地返回它(它保存更新)。最初,我将它编码为服务实现中的一个类,但是我观察到更新对象定期重置为空,这告诉我服务器类本身是重新创建的。有人能推荐轻量级可靠的策略来保存和重新创建这样的更新对象吗(我可以使其序列化)

    2 回复  |  直到 10 年前
        1
  •  4
  •   Hamid Shatu    10 年前

    重新启动服务时, onStop() onStart() 方法被调用。你可以使用 on() 方法将数据保存到永久位置,例如应用程序 sqlite 数据库。您可以在以下情况下恢复数据: OnStand() 被称为。

    您可以阅读有关使用 SQLite Android开发者数据库 website .

        2
  •  3
  •   lilbyrdie    15 年前

    如果我这样做,我会使用共享的引用。如果这太复杂了,我同意@scharrels关于使用sqlite db的建议(这很可能是Google的建议,因为他们的示例在最小的情况下使用sqlite,这意味着它具有合理的性能水平)。

    我发现共享的引用在许多情况下都很有用。首先,作为一个键值配对存储,可以轻松地存储各种不同的数据,此外,如果需要,还可以将对象编码为字符串,并将其存储在单个字段中。第二,您可以使用多个sharedreference存储,只需检索一个不同名称的存储(同时保持它们是私有的)。最后,我发现它们很容易使用,因为获取数据和存储数据实际上只是几行代码(不包括您可能需要的任何数据挖掘或序列化)。