相关疑难解决方法(0)

数据库处理有2个进程

我有一个包含2个部分的应用程序.

  • 创建内容的服务.
  • 使用内容的应用程序

每个都作为不同的进程运行.问题是他们都共享一个数据库.当服务尝试写入某些内容并且UI正在读取数据时,我经常会遇到数据库锁定错误.反之亦然.怎么办呢?

  • 用于访问DB的类是单例类.但由于UI和服务都是两个不同的过程,我认为有两个单身.所以这没有用.
  • synchronise我猜想,即使是因为2个不同的过程也无济于事.
  • Content Providers 也许是一个选项,但由于我使用复杂的查询来挖掘信息,所以也很难使用它.

如何让两个进程共享数据库.任何提示将不胜感激.

database sqlite android synchronize android-contentprovider

22
推荐指数
1
解决办法
4607
查看次数

android房间数据库锁定

当我使用第三方非线程安全的sqlite库时,我从生产中得到"android.database.sqlite.SQLiteDatabaseLockedException"异常.我检查了所有线程和连接关闭,我使所有实例单例但我无法解决问题(我甚至没有自己重现案例).然后我将我的orm移动到Room数据库,这是完全线程安全的.但我仍然从生产中得到完全相同的错误.所以不是Room db线程安全,并不是像谷歌提到的那样处理传统sqlite库的问题吗?是否有人面对数据库锁定错误与房间?

database android locked android-room

5
推荐指数
1
解决办法
879
查看次数