我一直在努力让这个工作太久。我刚开始进入PhoneGap/Cordova。我得到了演示应用程序的运行,安装了所有官方插件,并添加了这个SQLite插件开始工作:https://github.com/brodysoft/Cordova-SQLitePluginPhoneGap - 阅读预先打包的sqlite数据库
但是,我希望插件读取预打包的数据库。简而言之,创建一个脱机工作的应用程序,并且无需在第一次运行时下载SQLite数据库。
我一直在为Android开发相当长的一段时间,解决方案是在资产文件夹中部署一个只读数据库文件,并在第一次运行时将数据库文件复制到另一个文件夹中,在那里我可以读取/按我的意愿写。
所以我做了一点研究,并意识到它应该与PhoneGap相同。将二进制SQLite数据库放置在某处,以便在构建时将其与应用程序打包在一起。然后简单地用我在这里链接的SQLite插件加载它。
最后,这个问题!为了能够读取与应用程序一起打包的文件,我必须采取哪些确切步骤?
- 我应该在哪里放置我的二进制文件以确保它被打包到应用程序中?
- 我应该如何初始化File API?我应该问使用
window.requestFileSystem
持久性存储吗?或者我应该使用window.resolveLocalFileSystemURL
作为DirectoryEntry
获取一些(不知道哪个)目录(cordova.file.applicationDirectory
)?如果是这样,我应该使用哪些EXACT参数?我主要是指这个:https://github.com/apache/cordova-plugin-file/blob/master/doc/index.md - 如何读取打包文件?使用
window.resolveLocalFileSystemURL
与正确的文件夹?那么参数应该是什么? - 如果我到了这一步,文件复制应该可以正常工作。只需将只读
cordova.file.applicationDirectory
复制到可读写的cordova.file.dataDirectory
即可。对?
我知道这些问题可能是非常基本的,但我无数的尝试都是失败的,我没有找到一个解释这个问题的教程(相信我,我用Google搜索了一下)。此外,文件似乎不足。
只使用WebSQL数据库并加载数据,使用s ***加载INSERT
s的数据库不是一个可行的选项,数据库有数千条记录。
感谢您提前的帮助,您将为我节省一两个头痛。
截至2017年,情况仍然如此,Cordova-sqlite-storage不支持预填充数据库吗?你也知道在哪里把文件放入Ionic2应用程序? – 2017-01-02 19:45:04