在Android中实现DataStore的提示?

时间:2011-08-12 15:02:14

标签: android database persistence ipc

我正在努力在Android上提供一个数据存储(一个不使用SQLite的数据存储),从我们的Java库的单应用程序桌面版本开始。理想的解决方案是:

  • 在自己的流程中执行,通过某种形式的IPC
  • 提供对其他应用程序的访问
  • 持久性,因此使用它的应用程序不会在手机关机时丢失数据
  • 合理回应

使用我的客户端 - 服务器架构背景,我最初的尝试是使用Service,其他应用程序可以使用bindService和其他呼叫进行通信。结果在上面有质量#1(以及某种程度上的#3),但我不清楚何时将所有这些数据写回文件系统,特别是因为事实证明onDestroy()方法是不能保证被调用,特别是在机器关闭期间。使用警报定期保存数据也不是一个好的解决方案,因为它可能会在进程被终止时导致未提交的更改。

现在,我正在考虑使用ContentProvider,我认为这也是哲学上最好的方式。但问题#2仍然存在:如何保证在系统关闭时不会保留未提交的更改,同时不使用诸如在每个操作上写入文件系统等天真技术而牺牲性能?我想知道原生SQLite实现如何实现它?

请建议正确的方法来做这件事。这不应该像我发现的那样难::)。

感谢。

0 个答案:

没有答案