我的应用程序有一个偶尔会运行一次的IntentService。如果它们两者一起运行,则写入数据库的SQL语句会相互跳过(数据库被锁定错误)并且正在使应用程序崩溃。
活动和服务是否有办法以某种方式共享相同的数据库连接?
答案 0 :(得分:4)
正如Falmarri建议的那样,您可以使用内容提供商。
使用标准Java线程同步选项(例如java.util.concurrent
,synchronized
关键字)同步访问。
活动不应该写入数据库。活动应该是向Intent
发送IntentService
并将 it 写入数据库。