【发布时间】:2011-10-17 20:16:20
【问题描述】:
我是 Android 的新手,我正在开发一个简单的应用程序来获得一些基本经验。我的应用程序非常简单,其中包括广播接收器和一些活动。两个组件都使用一个数据库,因此理论上两者都可能同时尝试访问数据库。
目前我只是在每次需要时实例化 db 对象(这是一个 SQLite db 帮助器类),并执行所需的操作:查询、插入等。
从我在这里和其他一些文档中阅读的内容来看,如果同时访问数据库,则会出现“数据库锁定”异常的问题,因此更好的方法是拥有该数据库的单个实例对象,因此所有组件始终使用相同的数据库连接。
以上推理正确吗?那么单身人士会是一个足够好的解决方案吗?我知道一些纯粹主义者可能会反对它,但请注意,这是一个相当简单的应用程序,因此我可以负担得起在其他情况下不会做的事情。
否则,更好的选择是什么?我已经阅读了有关使用内容提供程序的信息,但这样做太多了,此外我对与其他活动共享数据不感兴趣。我确实读过这个post 并发现它很有帮助。
【问题讨论】:
标签: java android sqlite singleton android-loadermanager