活动和服务如何同时写入DB?

时间:2011-02-06 11:52:20

标签: android database sqlite locking share

我的应用程序有一个偶尔会运行一次的IntentService。如果它们两者一起运行,则写入数据库的SQL语句会相互跳过(数据库被锁定错误)并且正在使应用程序崩溃。

活动和服务是否有办法以某种方式共享相同的数据库连接?

1 个答案:

答案 0 :(得分:4)

  1. 正如Falmarri建议的那样,您可以使用内容提供商。

  2. 使用标准Java线程同步选项(例如java.util.concurrentsynchronized关键字)同步访问。

  3. 活动不应该写入数据库。活动应该是向Intent发送IntentService并将 it 写入数据库。