我目前正在尝试构建一个Android应用程序,该应用程序具有选项卡视图,其中每个选项卡都包含3个活动。每个活动访问一个数据库但是android抱怨第二个和第三个选项卡没有锁定数据库(因为选项卡1会因为它首先启动而得到它)。有没有人知道我应该做什么来在三个选项卡中访问这个数据库。
答案 0 :(得分:0)
尝试使用简历来查看此Sharing sqlite database between multiple Android Activities,暂停时看起来可以解决您的问题。
希望这有帮助。
答案 1 :(得分:0)
在应用启动时打开数据库一次(如果您还没有,则创建一个Application
子类),并且不要关闭数据库。使用Singleton或Application
类中的访问器方法在您的活动之间共享数据库。
如果需要,SQLite本身可以管理竞争线程之间的顺序访问,因此您不需要自己管理锁定。您不需要关闭数据库,因为SQLite的事务性质意味着它尽可能早地将所有内容刷新到存储中。
如果你这样做,你的代码会变得更简单,更安全。