我想从您的应用使用WebView时创建的webview.db数据库中读取一些数据。但是,该数据库由主要是包级别的类管理,或者不通过apis提供很多访问权限。
由于我无法共享他们的数据库对象或锁,如何在没有“数据库被锁定”错误或类似异常的情况下安全地从该数据库中读取内容?
我只需要阅读,我不需要写。
如果没有办法安全地获取sql查询/游标,有没有办法以线程安全的方式安全地复制实际的webview.db文件?是否有获得腐败副本的危险?
非常感谢
答案 0 :(得分:1)
我认为所有的锁都是在sqlite级别,而不是在java代码中,所以你应该能够在不混淆webview的情况下打开数据库并从中读取数据。 但是,出于同样的原因,您应该为锁定错误做好准备并重试查询,直到锁定消失为止。当webview执行数据更改语句时,数据库将被锁定 希望webview在整个运行期间不会对所有数据库进行独占锁定,但我没有看到原因。