gpt4 book ai didi

android - 如何安全地从另一个进程可能正在使用的数据库中读取?

转载 作者:行者123 更新时间:2023-11-30 04:41:55 25 4
gpt4 key购买 nike

我想从您的应用使用 WebView 时创建的 webview.db 数据库中读取一些数据。但是,该数据库由主要是包级别的类管理,或者不提供太多通过 api 访问的方式。

由于我无法共享他们的数据库对象或锁,我如何才能安全地从该数据库中读取内容而不会出现“数据库已锁定”错误或类似异常?

我只需要阅读,不需要写作。

如果没有办法安全地获取其上的 sql 查询/游标,是否有办法以线程安全的方式安全地复制实际的 webview.db 文件?是否存在获得损坏副本的危险?

非常感谢

最佳答案

我认为所有的锁都在 sqlite 级别,而不是在 java 代码中,所以你应该能够在不混淆 webview 的情况下打开数据库并从中读取。
但是,出于同样的原因,您应该为锁定错误做好准备并重试您的查询,直到锁定消失。当 webview 执行数据更改语句时,数据库将被锁定。
希望 webview 在它运行的整个过程中不会对所有数据库设置独占锁,但我没有看到这样做的原因。

关于android - 如何安全地从另一个进程可能正在使用的数据库中读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5840295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com