问题标签 [sqldroid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 在 Android Pie 中禁用 sqlite Write-Ahead 日志记录
在 Android Pie 中,sqlite 预写日志 (WAL) 默认已启用。这仅在 Pie 设备中导致我现有代码的错误。由于我访问数据库的方式,我SQLiteDatabase.disableWriteAheadLogging()
无法成功关闭 WAL 。PRAGMA journal_mode
我想使用名为db_compatibility_wal_supported的 Android 设置完全禁用 WAL :
有谁知道如何配置这个?我不知道这个文件是否可以在启动时以编程方式更改,或者是否可以手动更改。
有关问题的更多详细信息
我的应用程序中有一个 sqlite 数据库(20mb+ / 250k 记录)。这个数据库是在我的服务器上使用纯 java 生成的。它包含一个食物数据库,应用程序的用户可以添加到数据库中(并且服务器已更新)。这存储在 android 的 assets 文件夹中。在第一次安装期间,数据库从 assets 复制到 app 文件夹,以便可以写入,有效地使用以下方法:
不幸的是,一旦我开始使用 SqlDroid 写入数据库,wal 就会启用,并且原始数据库中的表已经消失,只剩下任何新创建的表。然而,数据库的大小仍然是 20mb+。所有数据库错误都是由于缺少表。表格复制和写入方法在 Pie 之前的 Android 版本中完美运行。
gluon - Gluon Mobile SQLDroid 找不到合适的驱动程序
我们正在评估 Gluon Mobile,我们的应用程序有时会离线工作,因此我们需要将数据存储在 SQLite 中。不幸的是,我们无法连接。我们遵循 gluon-SQLite 示例。我们使用 maven 创建一个新的 Gluon 项目,在 pom.xml 中添加以下内容:
然后在 BasicView 类中它看起来像这样:
并出现以下错误:
操作系统:Fedora 34 JDK:11 GraalVM:graalvm-svm-java11-linux-gluon-22.0.0.3-Final JavaFX:javafx-sdk-17.0.2 IDE:IntelliJ 2021.3.2 Android 版本:10
有没有办法使用 SQLite 或 SQLite 的替代品?
谢谢你。