跨越几个活动的Android数据库

时间:2012-04-03 14:54:32

标签: java android sqlite android-activity

我目前正在尝试构建一个Android应用程序,该应用程序具有选项卡视图,其中每个选项卡都包含3个活动。每个活动访问一个数据库但是android抱怨第二个和第三个选项卡没有锁定数据库(因为选项卡1会因为它首先启动而得到它)。有没有人知道我应该做什么来在三个选项卡中访问这个数据库。

2 个答案:

答案 0 :(得分:0)

尝试使用简历来查看此Sharing sqlite database between multiple Android Activities,暂停时看起来可以解决您的问题。

希望这有帮助。

答案 1 :(得分:0)

在应用启动时打开数据库一次(如果您还没有,则创建一个Application子类),并且不要关闭数据库。使用Singleton或Application类中的访问器方法在您的活动之间共享数据库。

如果需要,SQLite本身可以管理竞争线程之间的顺序访问,因此您不需要自己管理锁定。您不需要关闭数据库,因为SQLite的事务性质意味着它尽可能早地将所有内容刷新到存储中。

如果你这样做,你的代码会变得更简单,更安全。