我正在编写一个带有“在线模式”的应用程序,即根据需要下载,解析数据并将其插入到SQLite数据库中。所有这些都是由服务完成的。该应用程序包含多个要求服务进行数据更新的活动(根据活动不同的数据)。
当用户浏览活动时(无需等待服务完成),很容易获得SQLiteExceptions(消息:数据库被锁定)。
我考虑过使用同步块,但这会强制用户在服务完成更新时加载新活动(需要加载数据库访问权限)时等待。所以这似乎是一个死胡同。
另一种选择可能是在每个活动的onStop方法中停止更新。当然,更新将被中断,但这不是一个大问题。问题在于我不确定如何处理它。
我的问题是,我该如何处理?
答案 0 :(得分:7)
如果您的活动只是阅读而不是像我的情况那样写入数据库,那么这就是我所做的解决方法:
请确保您只使用1个dbhelper。