清除应用程序数据库

时间:2010-10-05 14:02:52

标签: android caching sqlite

我有一个Android应用程序,它使用sqlite数据库来存储特定用户的文本数据。从每隔n秒后定期运行的服务读取/写入数据库。我的要求是根据年龄清除数据。比如,如果文件超过24小时,则应将其删除。

检查文件的年龄似乎很简单,只需将当前时间与文件创建时间进行比较即可。问题是:

  1. 我应该在哪里检查并删除文件;内部应用程序onCreate()或用户登录/注销时?什么是触发这种逻辑的理想场所?我应该在用户登录时安排闹钟吗?

  2. 我应该删除文件还是只删除行?如果我没有从登录/注销中触发缓存清除逻辑,则不会删除文件导致问题,特别是如果服务仍在尝试从数据库读取和写入?

  3. 请建议。

    感谢。

1 个答案:

答案 0 :(得分:1)

嗯,这完全取决于您对第二部分的应用程序的逻辑。我不明白为什么要删除数据库,除非它只用于存储无关紧要的临时数据。无论哪种方式,执行此检查和删除的理想位置都在打开与数据库的连接的数据访问类中。以下是我的逻辑......

  1. 致电开放数据库
  2. 检查数据库文件是否旧了
  3. 如果是,请将其删除
  4. 打开数据库(如果不存在,则应创建一个)