第一次使用 react-native-sqlite-storage,我能够在 Android 模拟器中创建一个 sqlite db 文件,在其中创建一个表并成功插入一行。之后单击按钮,我还通过选择验证了该行已插入。
然后我使用 Android Studio 的“设备文件资源管理器”在 data\data<apppkg>\databases 文件夹中找到 test.db 文件,并使用“另存为”将其复制到 PC 的文件夹中。现在,当我在浏览器实用程序中打开 test.db 文件时,它是空的!里面没有桌子。
怀疑是“刷新”问题,我还在应用程序中尝试了 db.close() 。但我仍然无法从 Android 模拟器获取填充的数据库副本。我究竟做错了什么?
更新:我注意到在 android 模拟器上,还有 2 个带有数据库文件的文件——一个 shm 和一个 wal 文件。阅读其他一些线程,似乎他们正在保留日志,因此数据似乎尚未提交。那些线程提到关闭光标。但是存储库文档中没有这样的提及。除了调用不会真正关闭它并提交数据的 close() 之外,我如何确保从应用程序关闭游标。