是否可以在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 )

这实际上是关于预填充。 你可以从中得到一些东西。 对于想要预先填充的人来说,就是这样。

对的,这是可能的。 以及您需要在连接字符串中提及数据库文件路径的更改。 更像代码参考看看这里