是否可以在Android中使用phoneGap在SD卡中加载/创建数据库?
如何使用phoneGap或任何可与phoneGap配合使用的插件从sdcard加载现有的.db文件或在sdcard中创建数据库?
我想在sdcard中保存我的.db文件,因为数据库的大小可能会增加。
我面临同样的问题,但经过对phonegap-cordova库的长时间阅读后,我发现它缺乏提供选择路径的灵活性。
原因可能是因为跨平台限制,库绑定您使用默认的app路径所以在不同的平台上,库可以轻松获取文件。
但是什么!! 有一个技巧来实现目标….
function onDeviceReady() { var db = window.openDatabase("test", "1.0", "Test DB", 1000000); }
实际上,当JavaScript调用’openDatabase()’函数时,它会执行以下操作
- 在db_name之前添加‘/ data / data /
/’ - 并在db_name之后添加“.db”
即:在上述情况下,结果将是;
/ data / data /
/test.db
所以诀窍就在这里;
function onDeviceReady() { var db = window.openDatabase("../../../../mnt/sdcard/test", "1.0", "Test DB", 1000000); }
- 在db_name之前添加’../../../../mnt/sdcard/’,不添加扩展名,因为库添加’.db’本身,如果你添加任何扩展名,那么你的db文件将是db_name。( yourextension).db的
怎么办! 它会;
- 在db_name之前添加‘/ data / data /
/’ - 并在db_name之后添加“.db”
- 这将使你的db_name’../../../../mnt/sdcard/test’
因此,结果将是;
/ data / data /
/../../../../ mnt / sdcard / test.db
所以,它将返回到你的手机的根目录,然后是/ mnt / sdcard
是的 您可以,我将提供链接, http://gauravstomar.blogspot.se/2011/08/prepopulate-sqlite-in-phonegap.html?utm_source = feedburner&utm_medium = feed&utm_campaign = Feed:+ GauravSTomarBootstrappingIntelligence+(Gaurav+S+Tomar+ :+ Bootstrapping + Intelligence )
这实际上是关于预填充。 你可以从中得到一些东西。 对于想要预先填充的人来说,就是这样。
对的,这是可能的。 以及您需要在连接字符串中提及数据库文件路径的更改。 更像代码参考看看这里